在C#访问数据库中关闭连接时出错

时间:2014-10-05 02:31:40

标签: c# database ms-access

      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();**

问题已经关闭了代码下面的连接但是当我登录时有一个错误告诉我连接仍然是打开的?有什么建议吗?

1 个答案:

答案 0 :(得分:1)

根据建议,您应该在创建命令对象时创建连接对象。你应该这样做:

using (var connection = new OleDbConnection("..."))
using (var command = new OleDbCommand("...", connection))
{
    connection.Open();

    using (var reader = command.ExecuteReader())
    {
        // ...
    }
}