2010-12-20 1 views
1

루프 내의 테이블에서 데이터를 검색하려면 어떻게해야합니까? 즉, 한 번에 한 행씩 검색하려고합니다. 그러나 행의 순서는 다를 수 있습니다. 예를 들어, 1 번에 5 번 행, 2 번, 9 번 등을 원합니다.SQL 데이터 검색 - C#

인터넷을 통해 검색했습니다. 나는 두 가지 대답만을 얻었다.

  1. 여러 SqlConnection 개체를 사용하십시오.

  2. 독자 = sqlCommand.ExecuteReader(); While (reader.Read()) { 독자 [ "Column Name"]. ToString(); 당신이 내 문제를 가지고있는 경우, 저 도와주세요 은}

주셔서 감사합니다.

+1

? 어쩌면 관련 행만 반환한다는 쿼리를 다시 작성할 수 있습니까? – SWeko

답변

2

들으시겠습니까? 데이터 레이어를 수정하여 처리 할 순서대로 값을 반환하십시오.. 가장 쉽고 빠릅니다! :)

난 당신이 DataTable에로 결과를로드하는 것이 좋을 것 대안으로

:

DataTable table = new DataTable(); 
    using (SqlCommand command = new SqlCommand()) 
    { 
      // TODO: Set up your command here 
     using (SqlDataAdapter adapter = new SqlDataAdapter(command)) 
     { 
      adapter.Fill(table); 
     } 
    } 

    // Use your DataTable like this... 

    if (table.Rows.Count >= 5) { 
     DataRow firstRow = table.Rows[0]; // #1 row 
     DataRow fifthRow = table.Rows[4]; // #5 row 
     DataRow secondRow = table.Rows[1]; // #2 row 
    } 

/알렉스 당신이 행을 검색하는 순서를 결정하려면 어떻게

+0

좋은 답변입니다. 고맙습니다! – sura2k

0

일반적으로 독자 접근법이 있지만 쿼리 (또는 SP)는 검색하려는 순서로 데이터를 선택해야합니다.

또는 DataSet에 모든 항목을로드하고 그 행에서 임의 액세스를 수행 할 수 있습니다.

+0

알겠습니다. 나는 볼 것이다. – sura2k

0

두 가지 방법은, 내가 볼 것을 :

1) 다음, 하나의 SQL 문에서 모든 행을 가져 오기 메모리에 필요한 행을 액세스 할 수 있습니다.

또는 (의는 "모든"너무 많이 또는 최근의 데이터가 필요)

2) 다음 행에 대해 다시에만 특정 당신이 필요로하는 행과를 가져옵니다.

0

? DS에서 임의의 행을 검색하거나 반환 할 행을 선택하기위한 기준이 있습니까? 그렇다면 독자에게 주문하기 전에 주문할 수 없습니까?