Search code examples
c#mysqlvisual-studio-2012datareader

Get Value of Tuple From MySQL into String Array


I want to select all rows and columns from database (There's no conditions) and store each tuple (for example: value of index[0,0] in the table) in an String array..

Here's the code i am using:

using (MySql.Data.MySqlClient.MySqlConnection connection = new MySql.Data.MySqlClient.MySqlConnection("S;Port=P;Database=DB;Uid=U;Pwd=P"))                      {
       connection.Open();
       MySql.Data.MySqlClient.MySqlCommand cmd=connection.CreateCommand();
       cmd.CommandText = "SELECT * FROM table_name";
       MySql.Data.MySqlClient.MySqlDataReader datr = cmd.ExecuteReader();            
       coun = Convert.ToInt32(cmd.ExecuteScalar());
       while (datr.Read()){
            for (int i = 0; i < coun; i++)  {                          
                 First_String[i] = datr[0].ToString();
                 Second_String[i] = datr[1].ToString();
                Third_String[i] = datr[2].ToString();
                        /* and so on...*/   
             }
       }
}

I am getting an error which is: Object not "Object reference not set to an instance of an object."

What the wrong thing am doing?

Thanks


Solution

  • try this code

    using (MySql.Data.MySqlClient.MySqlConnection connection = new MySql.Data.MySqlClient.MySqlConnection("S;Port=P;Database=DB;Uid=U;Pwd=P"))                      {
           connection.Open();
           MySql.Data.MySqlClient.MySqlCommand cmd=connection.CreateCommand();
           cmd.CommandText = "SELECT * FROM table_name";
           MySql.Data.MySqlClient.MySqlDataReader datr = cmd.ExecuteReader();            
           coun = Convert.ToInt32(cmd.ExecuteScalar());
           int counter = 0;
           string[] First_String = new string[datr.FieldCount];
           string[] Second_String = new string[datr.FieldCount];
           string[] Third_String = new string[datr.FieldCount];
           while (datr.Read()){                          
                     First_String[counter] = datr[0].ToString();
                     Second_String[counter] = datr[1].ToString();
                    Third_String[counter] = datr[2].ToString();
                            /* and so on...*/   
                    counter++;
           }
    }