当我调用该函数时,我收到一条错误data is null. This method or property cannot be called on null values.
我相信此行存在错误
Error = id = rd.GetString(0);
我正在使用的代码在
之下public string MaxId()
{
string id="";
con.Open();
string sql = "SELECT MAX(CustID) FROM Customer";
SqlCommand cmd = new SqlCommand(sql,con);
SqlDataReader rd = cmd.ExecuteReader();
while(rd.Read())
{
id = rd.GetString(0);
}
con.Close();
return id;
}
如何从DataReader获取可能为null的字符串?
答案 0 :(得分:12)
如果您的Customer表为空,则查询将返回NULL。
在这种情况下,rd.GetString(0)
将抛出,因为GetString
无法返回NULL值。
您可以执行以下操作:
if (rd.IsDBNull(0))
{
id = null;
}
else
{
id = rd.GetString(0);
}