В моем проекте есть две библиотеки, однажды составленные по форме, а другая составленная классами. Я пытаюсь проверить данные с моей базы, используя общий. Когда я запускаю программу, я получаю сообщение о том, что мое соединение с моей базой 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;
}
}
вы создаете 'MySqlCommand' с объектом' connection', вы должны открыть соединение до 'cmd.ExecuteReader();' like: 'connection.Open();' –