我使用SQL Server数据库存储项目的数据。我有一些函数(c#)使用SQL查询来获取空值。
我的查询很完美,但我无法在代码中处理空值。
public satic string getValue(int paramOne, string alternateString)
{
var db = Database.Open("MyDatabase");
var query = "SELECT * FROM UserData WHERE ColumnOne = @0 AND ColumnTwo = SomeValue";
var row = db.QuerySingle(query, paramOne);
var data = row.data;
var returnValue = "";
// Here comes the problem
if(data == null)
{
returnValue = alternateString;
}
else
{
returnValue = data;
}
return returnValue;
}
当我执行此功能时,我收到错误
无法对空引用执行运行时绑定
任何帮助将不胜感激。谢谢!
答案 0 :(得分:1)
如果SQL查询没有返回任何内容,那么row
(由于db.QuerySingle
)将为null。
所以你必须先检查它,然后才能访问row.data
这样的内容:
var returnValue = "";
if(row != null && row.data != null)
returnValue = row.data;
else
returnValue = alternateString;