3

using .NextResultMultipleアクティブな結果セットの違いは何ですか?

sqlReader.NextResult();

while (sqlReader.Read())
{
    MessageBox.Show("From third SQL - " + 
                    sqlReader.GetValue(0) + " - " + 
                    sqlReader.GetValue(1));
}

火星

private static string GetConnectionString()
{
    // To avoid storing the connection string in your code,
    // you can retrive it from a configuration file.
    return "Data Source=(local);Integrated Security=SSPI;" + 
           "Initial Catalog=AdventureWorks;MultipleActiveResultSets=True";
}
4

1 に答える 1

5

彼らはほとんど反対です。

では.NextResult、1 つのコードが複数の結果セットを順番に消費します。を呼び出して、各結果セット (と同じくらい) を順番.Readに処理し、その結果セットで作業する必要がなくなったら、 を呼び出して次の結果セット.NextResultに移動します。を呼び出し.NextResultた後は、以前の結果セットを引き続き使用する方法はありません。

これらの結果セットはすべて、を生成するために送信された元のクエリの一部として要求されている必要がありますDataReader。(個別のSELECTステートメントとして、またはそのような呼び出しを含むストアド プロシージャの呼び出し、または 2 つの組み合わせとして)

MARSを使用すると、を介して結果セットを使用しているときに、新しい別の を生成する同じ接続でのクエリをDataReader送信できます。両方のリーダーに同時にアクセスできます。DataReader

于 2013-08-15T05:57:42.080 に答える