2014-12-08 3 views
-3

SQL Server 데이터베이스를 사용하여 프로젝트의 데이터를 저장하고 있습니다. null 값을 얻기 위해 SQL 쿼리를 사용하는 몇 가지 함수 (C#)가 있습니다.SQL Server 데이터베이스 NULL 값 가져 오기

내 쿼리는 완벽하지만 코드에서 null 값을 처리 할 수 ​​없습니다. 나는이 기능을 실행하면

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; 
} 

, 나는 오류가

이 어떤 도움을 이해할 수있을 것이다 Null 참조

에 런타임 바인딩을 수행 할 수 없습니다 얻을. 고맙습니다!

+3

'무엇인가

그래서 당신은이 같은 row.data 뭔가를 액세스하기 전에이를 확인해야? o.O –

+2

그리고'public satic'은'public static'이어야한다고 생각합니까? – Sybren

+1

이 ('Database.Open' 및'db.QuerySingle')에 어떤 데이터 액세스 구성 요소를 사용하고 계십니까? 아니면 자신의 데이터 액세스 구성 요소입니까? 그렇다면 우리는 아마 그 코드를보아야 할 것이다. 또는'row'가 실제로 무엇인지 모른다. 어쨌든, 데이터가 단일 값이면 [Convert.IsDBNull'] (http://msdn.microsoft.com/en-us/library/system.convert.isdbnull%28v=vs.110%)을 찾고있을 것입니다. 29.aspx) – Rhumborl

답변

1

SQL 쿼리에서 아무 것도 반환하지 않으면 row (결과는 db.QuerySingle)이됩니다. '0 @

var returnValue = ""; 

if(row != null && row.data != null) 
    returnValue = row.data; 
else 
    returnValue = alternateString; 
관련 문제