2012-09-29 3 views
4

데이터 세트에 테이블이 있는데이 테이블에서 고유 키를 사용하여 행을 검색하려고합니다.DataTable에서 행 찾기

제 질문은 : 루프를 사용하지 않고이 행을 찾을 수있는 방법이 있습니까?

foreach (var myRow in myClass.ds.Tables["Editeur"].AsEnumerable()) 
{ 
    if (newKeyWordAEditeurName == myRow[1] as String) 
     id_Editeur_Editeur = (int)myRow[0]; 
} 

답변

13

물론 :

내가 forech 루프를 사용하여 작성한 코드입니다. Select 메서드는 DataTable에서 해제 한 것입니다. DataSet의 테이블을 가져온 다음 Select를 사용하여 데이터 테이블을 찾습니다.

void Demo(DataSet ds) 
{ 
    DataTable dt = ds.Tables[0]; // refer to your table of interest within the DataSet 

    dt.Select("Field = 1"); // replace with your criteria as appropriate 
} 
+0

Select 메서드가 DataRow를 반환합니까? Int32로 캐스트 할 수 없기 때문에 –

+0

예, Select는 DataRow 개체 (DataRow [])의 배열을 반환합니다. 각 행의 열은 선택에 의해 반환 된 각 레코드의 필드를 포함합니다. –

+0

하지만이 행을 검색하는 데 사용 된 필드가 고유하기 때문에 하나의 행만 가져 오려고합니다. –