Creating c# library for mt4 - page 2

 

First of all...

Try this:

[DllExport("readmysql", CallingConvention = CallingConvention.StdCall)]
public static string readmysql([MarshalAs(UnmanagedType.LPWStr)] string databasename, [MarshalAs(UnmanagedType.LPWStr)] string tablename, [MarshalAs(UnmanagedType.LPWStr)] string refereanceword, [MarshalAs(UnmanagedType.LPWStr)] string columnname, [MarshalAs(UnmanagedType.LPWStr)] string lookupcolumn)
 
Anton Nel:

First of all...

Try this:

Didnt help.

The function can return value (string) if I remove mysql related code. When I want to initialize an instance for mysql object, mt4 outputs error.

 

If I remove the red lines, mt4 receives any sent string. I checked all one by one.

conn = new MySql.Data.MySqlClient.MySqlConnection();

Above line raises the handle error.



  [DllExport("readmysql", CallingConvention = CallingConvention.StdCall)]

        public static string readmysql([MarshalAs(UnmanagedType.LPWStr)] string databasename, [MarshalAs(UnmanagedType.LPWStr)] string tablename, [MarshalAs(UnmanagedType.LPWStr)] string refereanceword, [MarshalAs(UnmanagedType.LPWStr)] string columnname, [MarshalAs(UnmanagedType.LPWStr)] string lookupcolumn)
        {

            databasename = "trydata";
            tablename = "audusd";
            refereanceword = "2013.06.03 04:00";
            columnname = "f1";
            lookupcolumn = "f2";

          
           
            string getvalue;
            MySql.Data.MySqlClient.MySqlConnection conn;
            string myConnectionString = "server=localhost;uid=root;" + "pwd=000000;database=index;";
            MySqlCommand mcd;
            MySqlDataReader mdr;   

            conn = new MySql.Data.MySqlClient.MySqlConnection();
            conn.ConnectionString = myConnectionString;
            conn.Open();
            string searchQuery = "SELECT * FROM `" + tablename + "` WHERE CONCAT('"+columnname+"`) LIKE '%" + refereanceword + "%'";
            mcd = new MySqlCommand(searchQuery, conn);
            mdr = mcd.ExecuteReader();
            mdr.Close();
            conn.Close();

            getvalue = mdr.GetString(lookupcolumn);
          
            return getvalue;
        }
 
Hi Cagatay, Meet me Skype or private message.
 

What happened, did you guys manage to solve the issue, I kind have the same issue

Reason: