读书人

联接未关闭。 连接的当前状态为打开

发布时间: 2012-07-29 15:26:14 作者: rapoo

连接未关闭。 连接的当前状态为打开。
//登录操作
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连接

读书人网 >C#

热点推荐