SQL Server数据库获取NULL值

时间:2014-12-08 14:36:36

标签: c# sql-server

我使用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;
}

当我执行此功能时,我收到错误

  

无法对空引用执行运行时绑定

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

如果SQL查询没有返回任何内容,那么row(由于db.QuerySingle)将为null。

所以你必须先检查它,然后才能访问row.data这样的内容:

var returnValue = "";

if(row != null && row.data != null)
    returnValue = row.data;
else
    returnValue = alternateString;