C# 错误“连接未关闭。连接的当前状态为打开” 公共部分类表单注册:表单 { SqlConnection con=newSqlConnection@DataSource=LocalDB\MSSQLLocalDB;AttachDbFilename=C:\Users\USER\Source\repos\ProjectV2\ProjectV2\Account.mdf;集成安全性=True; SqlCommand命令cmd; int ID=0; 公开报名 { 初始化组件; } 私有无效btnSignup\u单击对象发送者,事件参数e { 不公开; cmd=new-SqlCommandselect*来自帐户,其中Name='+txtName.Text+'和Password='+txtPassword.Text+',con; SqlDataReader rd=cmd.ExecuteReader; 如果rd.HasRows { MessageBox.show已注册此名称的帐户。请尝试选择其他用户名。; con.关闭; ClearData; 回来 } 如果txtPassword.Text!=txtRetypePassword.Text { MessageBox.show请重新输入密码。; con.关闭; ClearData; 回来 } 如果txtName.Text!=&txtPassword.Text!=&txtContactNumber.Text!=&txtAddress.Text!= { cmd=new-SqlCommandinsert-into-AccountName、密码、联系人号码、地址values@name,@密码,@联系人号码,@地址,con; 不公开; cmd.Parameters。AddWithValue@name,txtName.Text; cmd.Parameters。AddWithValue@password,txtPassword.Text; cmd.Parameters。AddWithValue@contactnumber,txtContactNumber.Text; cmd.Parameters。AddWithValue@address,txtAddress.Text; con.关闭; cmd.ExecuteNonQuery; MessageBox.ShowRecord插入成功; ClearData; } 其他的 { MessageBox.show请提供所有详细信息!; } }

C# 错误“连接未关闭。连接的当前状态为打开” 公共部分类表单注册:表单 { SqlConnection con=newSqlConnection@DataSource=LocalDB\MSSQLLocalDB;AttachDbFilename=C:\Users\USER\Source\repos\ProjectV2\ProjectV2\Account.mdf;集成安全性=True; SqlCommand命令cmd; int ID=0; 公开报名 { 初始化组件; } 私有无效btnSignup\u单击对象发送者,事件参数e { 不公开; cmd=new-SqlCommandselect*来自帐户,其中Name='+txtName.Text+'和Password='+txtPassword.Text+',con; SqlDataReader rd=cmd.ExecuteReader; 如果rd.HasRows { MessageBox.show已注册此名称的帐户。请尝试选择其他用户名。; con.关闭; ClearData; 回来 } 如果txtPassword.Text!=txtRetypePassword.Text { MessageBox.show请重新输入密码。; con.关闭; ClearData; 回来 } 如果txtName.Text!=&txtPassword.Text!=&txtContactNumber.Text!=&txtAddress.Text!= { cmd=new-SqlCommandinsert-into-AccountName、密码、联系人号码、地址values@name,@密码,@联系人号码,@地址,con; 不公开; cmd.Parameters。AddWithValue@name,txtName.Text; cmd.Parameters。AddWithValue@password,txtPassword.Text; cmd.Parameters。AddWithValue@contactnumber,txtContactNumber.Text; cmd.Parameters。AddWithValue@address,txtAddress.Text; con.关闭; cmd.ExecuteNonQuery; MessageBox.ShowRecord插入成功; ClearData; } 其他的 { MessageBox.show请提供所有详细信息!; } },c#,C#,试试这个: private void btnSignup_Click(object sender, EventArgs e) { using (con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\USER\source\repos\ProjectV2\ProjectV2\Account.mdf;Integrated Security=True")

试试这个:

private void btnSignup_Click(object sender, EventArgs e)
    {
        using (con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\USER\source\repos\ProjectV2\ProjectV2\Account.mdf;Integrated Security=True")
        {
          con.Open();
          ...
        }
    }
并非btnSignup_中的所有路径都单击“关闭连接”,因此下次尝试打开连接时,它仍将被打开。不过,您的代码存在更严重的问题,请查看和。