我试图从一个数据库中取出所有老年用户,但当我尝试时,System.InvalidOperationException: 'Connection must be valid and open.'
弹出。这是一个Windows窗体应用程序,所以当我按下按钮时会发生这种情况。
我试过搜索问题,但我找不到错误。我还有5个具有相同语法的函数,它们工作得很好。这是我的代码:
public static List<User> Underage(MySqlConnection connection)
{
string query= string.Format("SELECT * FROM users WHERE age<18");
MySqlCommand command = new MySqlCommand(query, connection);
MySqlDataReader reader = command.ExecuteReader();
List<User> underage= new List<User>();
if (reader.HasRows)
{
User usu = new User();
while (reader.Read())
{
usu.id = reader.GetInt16(0);
usu.name = reader.GetString(1);
usu.surname= reader.GetString(2);
usu.email = reader.GetString(3);
usu.age= reader.GetInt16(4);
usu.birth = reader.GetDateTime(5);
usu.payment= reader.GetFloat(6);
underage.Add(usu);
}
}
return underage;
}
非常感谢,如果这是一个愚蠢的问题,我很抱歉,但我无法弄明白。
谢谢你澄清我的问题mjwills和Adyson,你是对的,我忘了打开它。我有一个函数来打开我在我的程序的每个其他方法中使用的连接,但我忘了在这个中添加它。对不起,谢谢!