문제

다음 코드 줄이 있습니다

if (DBNull.Value.Equals(o) || o != null)

어디 o ~이다 object o in row.ItemArray 나는 계속 ->의 오류를 얻는다

Xml type "List of xdt:untypedAtomic" does not support a conversion from Clr type "DBNull" to Clr type "String".

내가 이해하지 못하는 것은 코드를 밟을 때 if 이것을 잡고 내 대체 행동을 수행해야하지만 그렇지 않습니까?

누군가 나를 위해 약간의 빛을 흘릴 수 있습니까?

고맙습니다!

도움이 되었습니까?

해결책

사용해보십시오

convert.isdbnull 방법.

다른 팁

나는 당신이 문제라고 생각합니다

DBNull.Value == null 
//is always false

DBNULL은 DB에서 반환 된 값을 비교할 수있는 특별 클래스이므로 실제로는 널 조건을 확인하고 배열에 둘 다 포함 된 경우 DBNULL.Value를 확인해야합니다.

편집하다: 코드를 자세히 살펴보면 죄송합니다. O == NULL이면 첫 번째 진술은 예외로 폭발합니다. 노력하다:

if (o != null || o == DBNull.Value) 

그러한 비교가 도움이 될 수 있습니다

if ( !o.GetType().Equals( DBNull.Value ) )

또는

if (o is DBNull)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top