방법: DataTable에서 특정 행 찾기
업데이트: 2007년 11월
데이터를 사용하는 대부분의 응용 프로그램에서는 일정 기준을 만족하는 특정 레코드에 액세스해야 합니다. 데이터 집합에서 특정 행을 찾으려면 DataRowCollection 개체의 Find 메서드를 호출합니다. 기본 키가 있으면 DataRow 개체가 반환되고 기본 키가 없으면 null 값이 반환됩니다.
기본 키 값으로 행 찾기
형식화된 데이터 집합에서 기본 키 값으로 행을 찾으려면
테이블의 기본 키를 사용하여 행을 찾는 강력한 형식의 FindBy 메서드를 호출합니다.
다음 예제에서는 CustomerID 열이 Customers 테이블의 기본 키이므로 생성된 FindBy 메서드는 FindByCustomerID입니다. 이 예제에서는 생성된 FindBy 메서드를 사용하여 특정 DataRow를 변수에 할당하는 방법을 보여 줍니다.
Dim customersRow As NorthwindDataSet.CustomersRow customersRow = NorthwindDataSet1.Customers.FindByCustomerID("ALFKI")
NorthwindDataSet.CustomersRow customersRow = northwindDataSet1.Customers.FindByCustomerID("ALFKI");
형식화되지 않은 데이터 집합에서 기본 키 값으로 행을 찾으려면
기본 키를 매개 변수로 전달하여 DataRowCollection 컬렉션의 Find 메서드를 호출합니다.
다음 예제에서는 foundRow라는 새 행을 선언하고 이 행에 Find 메서드의 반환 값을 할당하는 방법을 보여 줍니다. 기본 키를 찾으면 열 인덱스 1의 내용이 메시지 상자에 표시됩니다.
Dim s As String = "primaryKeyValue" Dim foundRow As DataRow = DataSet1.Tables("AnyTable").Rows.Find(s) If foundRow IsNot Nothing Then MsgBox(foundRow(1).ToString()) Else MsgBox("A row with the primary key of " & s & " could not be found") End If
string s = "primaryKeyValue"; DataRow foundRow = dataSet1.Tables["AnyTable"].Rows.Find(s); if (foundRow != null) { MessageBox.Show(foundRow[1].ToString()); } else { MessageBox.Show("A row with the primary key of " + s + " could not be found"); }
열 값으로 행 찾기
열의 값을 사용하여 행을 찾으려면
데이터 테이블은 Select 메서드에 전달된 식에 따라 DataRow의 배열을 반환하는 Select 메서드에 의해 생성됩니다. 유효한 식의 작성에 대한 자세한 내용은 Expression 속성에 대한 페이지에서 "식 구문" 단원을 참조하십시오.
다음 예제에서는 DataTable의 Select 메서드를 사용하여 특정 행을 찾는 방법을 보여 줍니다.
Dim foundRows() As Data.DataRow foundRows = DataSet1.Tables("Customers").Select("CompanyName Like 'A%'")
DataRow[] foundRows; foundRows = dataSet1.Tables["Customers"].Select("CompanyName Like 'A%'");