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,单个代码按顺序使用多个结果集。它通过调用依次处理(尽可能多地)每个结果集.Read,然后当它不再想要处理该结果集时,它调用.NextResult以移动到下一个结果集。一旦您调用.NextResult了 ,就无法继续使用之前的结果集。

所有这些结果集都必须作为提交以生成DataReader. (作为单独SELECT的语句,或调用包含此类调用的存储过程,或两者的组合)

使用MARS时,当您通过 a 使用结果集时,您可以在同一连接上DataReader提交单独DataReader的查询,从而生成一个新的、单独的. 两个阅读器可以并行访问。

于 2013-08-15T05:57:42.080 回答