服务资源管理器能够连接数据库,但是在程序中连接数据库就会报错。说数据库是关闭的。例如下段代码就会提示:ExecuteNonQuery 要求已打开且可用的链接。连接的当前状态为已关闭。
string sql = "insert into Admin(LoginId,LoginPwd) values('admin','admin')";
try
{
SqlCommand cmd = new SqlCommand(sql, DBHeler.GetConn());
DBHeler.GetConn().Open();
int result = cmd.ExecuteNonQuery();
if (result == 1)
{
MessageBox.Show("插入成功!");
}
else
{
MessageBox.Show("插入失败!");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
DBHeler.GetConn().Close();
}
}请问这是怎么回事,请详细告诉我,谢谢帮助!
string sql = "insert into Admin(LoginId,LoginPwd) values('admin','admin')";
try
{
SqlCommand cmd = new SqlCommand(sql, DBHeler.GetConn());
DBHeler.GetConn().Open();
int result = cmd.ExecuteNonQuery();
if (result == 1)
{
MessageBox.Show("插入成功!");
}
else
{
MessageBox.Show("插入失败!");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
DBHeler.GetConn().Close();
}
}请问这是怎么回事,请详细告诉我,谢谢帮助!
DBHeler.GetConn().Open();
注意你传递的是2个不同的connection,第1个没有打开,你打开的是第2个
SqlConnection conn=DBHeler.GetConn();
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();