Sid*_*raM 0 c# sql-server exception reader
我使用此代码ID从表中获取最大值PatientInfo:
private void LoadID()
{
string query = "SELECT MAX(ID) FROM PatientInfo";
using (SqlConnection cn = new SqlConnection(constr))
using (SqlCommand cmd = new SqlCommand(query, cn))
{
cn.Open();
SqlDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
txtid.Text = reader["ID"].ToString();
}
}
else
{
// other code
}
reader.Close();
cn.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
因为我必须首先检查是否存在任何记录,我正在使用reader.HasRows.之后,代码应获取ID并将其放入文本框.但事实并非如此.它扔了一个IndexOutOfRangeException.我无法弄明白为什么.
在我的数据库中,我插入了一条记录.但它仍然在两个条件下给出相同的结果(1.当我在表中没有数据时和2.当我在表中有数据时)
其次,我试图在表格中手动输入数据,但它什么都不做,并说下面的事情
因此,没有添加数据
ID 不是您查询中的字段,您必须为您的别名添加别名 MAX
string query = "SELECT MAX(ID) AS ID FROM PatientInfo";
Run Code Online (Sandbox Code Playgroud)