데이터 행에 열이 있는지 확인하는 방법은 무엇입니까?
XML 파일을 DataSet으로 읽는 중이며 DataSet에서 데이터를 가져와야 합니다.사용자가 편집할 수 있는 구성 파일이므로 필드가 있을 수도 있고 없을 수도 있습니다.누락된 필드를 잘 처리하려면 DataRow의 각 열이 DBNull이 아닌 존재하는지 확인합니다.
이미 DBNull을 확인했지만 예외를 던지거나 모든 열 이름을 루프하는 기능을 사용하지 않고 열이 존재하는지 확인하는 방법을 모르겠습니다.이것을 하는 가장 좋은 방법은 무엇입니까?
DataRow는 기본 테이블을 연결하는 방식이 좋습니다.기본 테이블을 사용하여 특정 행에 특정 열이 있는지 확인할 수 있습니다.
If DataRow.Table.Columns.Contains("column") Then
MsgBox("YAY")
End If
사용할 수 있습니다.DataSet.Tables(0).Columns.Contains(name)
그것의 여부를 확인하기 위해DataTable
에는 특정 이름을 가진 열이 들어 있습니다.
열이 있는지 확인하는 또 다른 방법은 다음을 확인하는 것입니다.Nothing
에서 반환되는 가치Columns
열 이름을 전달할 때 수집 인덱서:
If dataRow.Table.Columns("ColumnName") IsNot Nothing Then
MsgBox("YAY")
End If
이 접근 방식은 다음을 사용하는 접근 방식보다 선호될 수 있습니다.Contains("ColumnName")
다음 코드가 나중에 그것을 얻기 위해 필요할 때 방법.DataColumn
나중에 쓸 수 있도록예를 들어 열에 값이 저장된 유형을 확인할 수 있습니다.
Dim column = DataRow.Table.Columns("ColumnName")
If column IsNot Nothing Then
Dim type = column.DataType
End If
이 경우, 이 접근 방식은 고객에게 전화를 절약해 줍니다.Contains("ColumnName")
동시에 코드를 조금 더 깨끗하게 만듭니다.
코드 블록을 try...catch 문으로 캡슐화할 수 있으며, 코드를 실행할 때 열이 존재하지 않으면 예외가 발생합니다.그런 다음 어떤 특정 예외를 발생시키는지 파악하고 원하는 경우 "열을 찾을 수 없음"을 반환하는 등 다른 방법으로 해당 특정 예외를 처리하도록 할 수 있습니다.
언급URL : https://stackoverflow.com/questions/178712/how-to-find-out-if-a-column-exists-in-a-datarow
'programing' 카테고리의 다른 글
이클립스가 Android SDK Content Loader에서 중단됩니다. (0) | 2023.05.31 |
---|---|
루프에 대한 게시물 (0) | 2023.05.31 |
포스트그리 재설정SQL 기본 키 - 1 (0) | 2023.05.31 |
빈 UI 테이블 보기를 처리합니다.친숙한 메시지 인쇄 (0) | 2023.05.31 |
SQL Server 간에 테이블 데이터 내보내기 (0) | 2023.05.31 |