为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL 连接没有关闭

MySQL 连接没有关闭

C#
陪伴而非守候 2021-10-24 19:27:24
我现在在我的项目中碰壁了。我有一个带有一些列表框的表单和添加按钮。当我点击添加按钮时,我得到一个带有文本框、确定和取消按钮的小对话框。该应用程序已连接到 MySQL 数据库。因此,每当文本更改时,程序都会检查该名称是否存在于数据库中,禁用“确定”按钮,如果名称存在,则文本框变为红色,否则将它们恢复正常。当我正在写作并且名称不存在时,它可以正常工作,并且当它存在时,它会变成红色,就像它应该的那样。这就是问题所在。变红后,即使输入有效名称,也不会恢复正常。这是代码:private void DialogTxb_TextChanged(object sender, EventArgs e){    //ConnexionData class where i do all the SQL manipulation    MySqlDataReader selection = ConexionData.CheckSectionName(DialogTxb.Text);    while (selection.Read())    {        if (selection.HasRows)        {            DialogOk.Enabled = false;            toolTip1.Show("La section existe", TooltibLb);            DialogTxb.BackColor = System.Drawing.ColorTranslator.FromHtml("#ffaaaa");        }        else        {            toolTip1.Hide(TooltibLb);            DialogTxb.BackColor = Color.White;            DialogOk.Enabled = true;        }    }    ConexionData.ConexionClose();//Method to close connection}我想我知道问题出在哪里,但不知道它为什么会发生以及如何解决它。如果我只是退出表单并尝试执行其他任何操作,例如从列表框中选择另一个元素将触发某些数据库交互,则程序关闭和 Visual Studio 会向我提供有关错误的信息:“连接已打开”。我试图在代码的其他时刻关闭,在互联网上寻找一些解决方案,尝试过MysqlConection.ClearAllPools(),仍然是同样的问题。Connexion 在应用程序的其他部分正确打开和关闭。感谢您的关注。
查看完整描述

2 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

如果连接没有关闭,那么您可以在执行方法“CheckSectionName()”之前尝试调用 close() 连接或 sqldatareader。FYR 以下是一些示例,如果有帮助,请告诉我。


方法一:


    System.Data.SqlClient.SqlConnection sqlConn = new System.Data.SqlClient.SqlConnection();

     if(sqlConn.State!= System.Data.ConnectionState.Closed)

        {

           sqlConn.Close();

       }

 System.Data.SqlClient.SqlDataReader SqlReader= new System.Data.SqlClient.SqlDataReader();


                    if(!SqlReader.IsClosed)

                    {

                        SqlReader.Close();

                    }

    MySqlDataReader selection = ConexionData.CheckSectionName(DialogTxb.Text);

方法二:我们可以使用“using”子句


using (MySqlDataReader selection = ConexionData.CheckSectionName(DialogTxb.Text))

方法 3: 将 close() 和 dispose() 添加到 finally 块中。


查看完整回答
反对 回复 2021-10-24
  • 2 回答
  • 0 关注
  • 257 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信