gpt4 book ai didi

c# - Return value using String result=Command.ExecuteScalar() result返回null时出现错误

转载 作者:IT王子 更新时间:2023-10-29 04:17:19 25 4
gpt4 key购买 nike

我想从数据库中获取第 1 行第 1 个单元格值,它与下面的代码配合得很好。但是当没有找到结果时,它会抛出异常。

如何处理 DBNull .
我应该更改我的查询吗?如果他们没有记录,它会返回一些值?

System.NullReferenceException:对象引用未设置到对象的实例。

代码:

    public string absentDayNo(DateTime sdate, DateTime edate, string idemp)
{
string result="0";
string myQuery="select COUNT(idemp_atd) absentDayNo from td_atd where ";
myQuery +=" absentdate_atd between '"+sdate+"' and '"+edate+" ";
myQuery +=" and idemp_atd='"+idemp+"' group by idemp_atd ";

SqlCommand cmd = new SqlCommand(myQuery, conn);
conn.Open();
//System.NullReferenceException occurs when their is no data/result
string getValue = cmd.ExecuteScalar().ToString();
if (getValue != null)
{
result = getValue.ToString();
}
conn.Close();
return result;
}

最佳答案

没有必要继续调用 .ToString(),因为 getValue 已经是一个字符串。

除此之外,这一行可能是您的问题:

 string getValue = cmd.ExecuteScalar().ToString();  

如果没有行 .ExecuteScalar 将返回 null,因此您需要进行一些检查。

例如:

var firstColumn = cmd.ExecuteScalar();

if (firstColumn != null) {
result = firstColumn.ToString();
}

关于c# - Return value using String result=Command.ExecuteScalar() result返回null时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16647140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com