连接未关闭。 连接的当前状态为打开。
//登录操作
private void btn_sign_Click(object sender, EventArgs e)
{
//conn.Open();
sql = "select * from yonghu where yuser='" + txt_user.Text + "'";
SqlCommand cmd=new SqlCommand(sql,conn);
SqlDataReader reader=cmd.ExecuteReader();
if(txt_user.Text.Length == 0)
{
MessageBox.Show("请输入用户名,用户名不能为空");
txt_user.Focus();
return;
}
else if(reader.Read())
{
string pwd = reader.GetString(reader.GetOrdinal("ypwd"));
if (txt_pwd.Text == pwd)
{
MessageBox.Show("登陆成功");
}
else
{
MessageBox.Show("用户名或密码错误,请重新输入");
txt_pwd.Text = "";
}
}
conn.Close();
}
明明已经conn.close();了,怎么还是提示这个问题
------解决方案--------------------
if(txt_user.Text.Length == 0)
{
MessageBox.Show("请输入用户名,用户名不能为空");
txt_user.Focus();
return;
}
这个地方return的话就没有conn.Close()
在return之前close就可以,
if(txt_user.Text.Length == 0)
{
MessageBox.Show("请输入用户名,用户名不能为空");
txt_user.Focus();
conn.Close();
return;
}
------解决方案--------------------添加try catch,在finnally里close连接