我正在尝试使用ExecuteScalar
函数从我的数据库中获取某些数据但是错误提示ExecuteScalar
需要一个开放且可用的连接,即使我已经明确地打开它。 ExecuteScalar
函数适用于我的程序的其他部分,除了这个部分(此代码位于嵌套ifs的else部分。代码如下:
else if (drpAccType.SelectedValue.ToString() == "Nurse")
{
Connection.Open();
SqlCommand getlatestID = new SqlCommand("select ID from tblListofMedicine accountType = 'Nurse' order by ID desc", Connection.conn);
int userIDD = Convert.ToInt32(getID.ExecuteScalar());
num = num * (userIDD + 1);
string IDtoAdd = Convert.ToString(num).Substring(2, 4);
addID = "N" + IDtoAdd;
}
这段代码在嵌套ifs中,我已经意识到每次在else函数中执行ExecuteScalar
函数时,它都不会工作,但在其他函数之外,它可以工作。< / p>
任何帮助将不胜感激! :)
答案 0 :(得分:1)
您指定了getID
而不是getlatestID
int userIDD = Convert.ToInt32(getlatestID.ExecuteScalar());