private void FoodList_Load(object sender, EventArgs e) {
try {
**Connections.con.Open();**
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = Connections.con;
string foodcon = "SELECT ID, FoodName FROM FoodList";
cmd.CommandText = foodcon;
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
listBox1.Items.Add(reader["FoodName"].ToString());
}
}
catch (Exception err)
{
MessageBox.Show("Error " + err);
}
**Connections.con.Close();**
问题已经关闭了代码下面的连接但是当我登录时有一个错误告诉我连接仍然是打开的?有什么建议吗?
答案 0 :(得分:1)
根据建议,您应该在创建命令对象时创建连接对象。你应该这样做:
using (var connection = new OleDbConnection("..."))
using (var command = new OleDbCommand("...", connection))
{
connection.Open();
using (var reader = command.ExecuteReader())
{
// ...
}
}