connection.Open();
var cmd = new SqlCommand("SELECT TOP 1000 [Id] ,[Name] FROM [SomeBase]", connection); //Here
context.MaxID = 100;
int en = 5; //Maximum number of rows in the slice
int iter = 0; //Iterator for each single row in the slice
try
{
SqlDataReader reader = cmd.ExecuteReader();
if(reader.HasRows)
{
while (iter < en) //I need 1-5 rows in first iteration, 6-10 in second...
{
iter++;
reader.Read();
context.TextLog += String.Format("{0}\t{1}\n",
reader.GetInt64(0),
reader.GetString(1));
}
}
reader.Close();
}
結果からスライスで行を取得しようとしています。 私は期待する:最初の5つのスクリプトから終了します。次の開始は2番目の5つの結果(6-10)などとなります。 どのように私はそれを管理することができますか?.NETを使用してSQLReaderでスライスによるクエリ結果を読み取る方法
データベースサーバに、LIMIT/FETCHとOFFSETの部分のみを必要とするように指示します。あなたが1000の結果がほしいと言って、それを放棄してほしいと言ってはいけません。 –
[SQL Serverで結果をページングする最適な方法は何ですか?](http://stackoverflow.com/questions/109232/what-is-the-best-way-to-paginate-results-in-sql-サーバ) – bbsimonbb