2016-05-22 3 views
-1

В моем проекте есть две библиотеки, однажды составленные по форме, а другая составленная классами. Я пытаюсь проверить данные с моей базы, используя общий. Когда я запускаю программу, я получаю сообщение о том, что мое соединение с моей базой MySql не открыто или недействительно.Отладка ошибки MySqlDataReader в C#

public class DAO { class for connection to the data base 

    public DAO() 
    { 
    } 
} 

Этот класс представляет собой таблицу в моей базе данных

public class Lot { 
    public List<Lot> getAllLot(string query) { 
     dao.getConnection() ;   

     // Créer une liste pour stockerle résultat 
     List<Lot> list = new List<Lot>() ; 

     // ouvre la connection 
     if (dao.openConnection()== true) { 
      MySqlConnection connection = new MySql.Data.MySqlClient.MySqlConnection("server=localhost;database=pharmacie;uid=root;pwd=sqlServer12;"); 

      // créer la commande 
      MySqlCommand cmd = new MySqlCommand (query, connection); 

      // Créer un data reader et executer la commande 
      dao.getConnection() ; 

      // *** The error is "Connection must be valid and open." 
      MySqlDataReader reader = cmd.ExecuteReader(); // I get error here 

      // lis les données et les stock dans la liste 
      while (reader.Read()) { 
       list.Add(new Lot 
          { 
           numLot = reader.GetString (0), 
           dateFabrication = reader.GetDateTime(1), 
           dateLivraison = reader.GetDateTime(2), 
           datePeremption = reader.GetDateTime(3) 
          }); 
      } 

      reader.Close(); 
      dao.closeConnection(); 
     } 

     return list; 
    } 
} 
+0

вы создаете 'MySqlCommand' с объектом' connection', вы должны открыть соединение до 'cmd.ExecuteReader();' like: 'connection.Open();' –

ответ

0

перед назначением он соединение с командой вам нужно открыть соединение с помощью connection.Open();

+0

спасибо, что это работа сейчас –

Смежные вопросы