c# dataTable itemarray returns '{}' - 널 값을 어떻게 테스트 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/707658

  •  22-08-2019
  •  | 
  •  

문제

나는있다 DataTable resultSet; - 널 필드를 확인하려고하지만 '{}'(빈 세트?) 객체를 다시 얻습니다. "{}"과 관련된 검색은 적절한 솔루션을 생성하지 않습니다.

이것은 "fk_id"필드가 null 일 때 예상대로 작동하지 않는 코드입니다.

if (resultSet.Rows[0].ItemArray[resultSet.Columns.IndexOf("fk_id")] == null)
{
   //never reaches here
}

참고 : 대신 int 색인을 사용합니다 Columns.IndexOf() 문제가 아닙니다.

또한 "{}"에는 C#에 다른 이름이 있습니까?

도움이 되었습니까?

해결책

데이터 세트에서 dbnull 열을 확인하려면 ISNULL 방법:

if (resultSet.Rows[0].IsNull("fk_id"))

당신의 비교 null 데이터 세트가 사용하지 않기 때문에 아마도 실패했을 것입니다 null "데이터베이스 NULL"값을 나타내려면 dbnull.Value. 제시 한 방식으로 코드가 필요하다면 다음을 시도하십시오.

if (resultSet.Rows[0].ItemArray[resultSet.Columns.IndexOf("fk_id")] == DBNull.Value)

다른 팁

try
{
    if (DT.Rows[0][0] != null)
    {      
      //your code
    }    
}    
catch    
{    
    MessageBox.Show("AUTHANICATION FAILED.");    
}

이용 해주세요:

dataTable.Select("FieldName is NULL")

FieldName 열에서 NULL 값이있는 DatArows를 제공합니다.

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