2012-01-17 2 views
4

이어야합니다. 응용 프로그램을 몇 번만 탐색 할 때 asp.net 4.0 및 sql 서버를 사용하고 있습니다.이 오류가 표시되면 클릭하면 해결할 수있는 방법이 있습니다. 이InvalidOperationException Nullable 개체의 값이

'System.InvalidOperationException : Nullable 개체에 값이 있어야합니다. at System.ThrowHelper.ThrowInvalidOperationException (ExceptionResource 리소스)

답변

7

null 인 nullable 개체 값에 액세스하려고 시도하는 것 같습니다. MSDN page on nullable types

Value 속성에서

는 값 하나가 할당되어있는 경우, 그렇지 않으면 System.InvalidOperationException이 발생합니다을 반환합니다.

오류를 극복하기위한 다양한 방법이 있습니다. 예를 들어 :

int? a=null; // a test nullable object 
//Console.WriteLine(a.Value); // this throws an InvalidOperationException 

// using GetValueOrDefault() 
Console.WriteLine(a.GetValueOrDefault()); //0 (default value for int) 

//checking if a.HasValue 
if(a.HasValue) Console.WriteLine(a.Value); // does not print anything as the if 
              // is false 

// using the ?? operator 
Console.WriteLine(a ?? -1); // prints -1 
+0

왜 당신이 예외의 원인이되는 코드를 붙여하지 않은 – user781406

+0

일부 시간을 얻고,하지만 때로는 당신의 널 (NULL) 객체가 null가 아닌 가정 할 수있다 (그리고 a.Value가 throw하지 않습니다 예외). –

+0

감사합니다. – user781406

관련 문제