dbnull은 어떻게 dbnull과 같지 않을 수 있습니다
문제
다음 코드 줄이 있습니다
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)
제휴하지 않습니다 StackOverflow