2013-05-16 2 views
0
나는이 링크에서 확인 된 검색 프로세스 작업입니다

을 확인하여.... 두 개의 열

Simplest/fastest way to check if value exists in DataTable in VB.net?

를 데이터 테이블을 검색

나는이 검색 기술을 사용하고 싶지만, 궁금했다가

Shared Function CheckValue(myTable As DataTable, columnName As String, searchValue As String) As Boolean 
For row As DataRow In myTable.Rows 
    If row(columnName) = searchValue Then Return True 
    Next 
    Return False 
End Function 

내가 PK를 사용할 수 있지만 두 개의 필드가 하나의 문자열, 다른 하나는 정수에 맞게 싶습니다 .... 프로세스에 두 개의 열을 추가 할 수있는 방법입니다.

덕분에,

답변

1

그런 다음, 2 열에 두 값을 검색하기 위해이 방법을 사용하려면 :

Shared Function CheckValue(myTable As DataTable, columnName1 As String, searchValue1 As String, columnName2 As String, searchValue2 As Integer) As Boolean 
    For row As DataRow In myTable.Rows 
    If row(columnName1) = searchValue1 And row(columnName2) = searchValue2 Then Return True 
    Next 
    Return False 
End Function 

위의 생각 DBNull이 값을 확인하지 않습니다, 유의하시기 바랍니다. 하나가 발생하면 예외가 발생합니다. DBNull을 처리하려면 if 문을 수정해야합니다.

+0

의 행의 배열을 얻을 수는 뇌사 오늘, 감사합니다. – htm11h

0

또는 당신이 선택

Dim oRowsInTarget As DataRow() = MyTable.Select("[Col1Name] = '" & SearchVal1 & "' AND [Col2Name] = '" & SearchVal2 & "'") 
IF oRowsInTarget.count > 0 Then 
    'Do something 
End 

에서 또는 oneliner

If MyTable.Select("[Col1Name] = '" & SearchVal1 & "' AND [Col2Name] = '" & SearchVal2 & "'").Count > 0 Then Return True