2010-12-20 66 views
1

如何從循環內的表中檢索數據或其他內容。這意味着我想一次一行地檢索。但行的順序可能不同。 例如,我第一次想要第5排,然後是第2,然後是9 ...等等。SQL數據檢索 - C#

我通過互聯網搜索到它。我只有兩個答案。

  1. 使用多個SqlConnection對象。

  2. reader = sqlCommand.ExecuteReader(); while(reader.Read())reader [「Column Name」]。ToString(); }

如果你得到了我的問題,請大家幫我 謝謝。

+1

你如何決定你檢索行的順序?也許你的查詢可以重寫,它只返回相關的行? – SWeko 2010-12-20 14:24:02

回答

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 2011-06-13 09:52:11

0

閱讀器方法通常是要走的路,但是您的查詢(或SP)必須已經按照您想要檢索的順序選擇數據。

或者,您可以將所有內容加載到DataSet中,並對其中的行進行隨機訪問。

+0

我明白了。我再看看吧。 – sura2k 2010-12-20 14:23:40

0

兩種方式,我看到:

1)獲取的所有行的一個SQL語句,然後訪問你的內存需要的行。

或(的「一切」實在是太多了,或者你需要的最新數據)

2)僅獲得您所需要的特定行,再下一行。

0

究竟是什麼你想實現什麼?從DS中檢索隨機行,或者您是否有特定的標準來選擇要返回的行?如果是這樣,你不能在將它們加載到讀者之前訂購它們嗎?