programing

데이터 행에 열이 있는지 확인하는 방법은 무엇입니까?

linuxpc 2023. 5. 31. 15:24
반응형

데이터 행에 열이 있는지 확인하는 방법은 무엇입니까?

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

반응형