2011-05-18 34 views

回答

3

如果使用DataReader檢索數據,則可以使用NextResult方法遍歷存儲過程返回的多個結果集。更多信息可以發現here. 下面的代碼是從MSDN一個簡單的例子:

static void RetrieveMultipleResults(SqlConnection connection) 
{ 
    using (connection) 
    { 
     SqlCommand command = new SqlCommand(
      "SELECT CategoryID, CategoryName FROM dbo.Categories;" + 
      "SELECT EmployeeID, LastName FROM dbo.Employees", 
      connection); 
     connection.Open(); 

     SqlDataReader reader = command.ExecuteReader(); 

     while (reader.HasRows) 
     { 
      Console.WriteLine("\t{0}\t{1}", reader.GetName(0), 
       reader.GetName(1)); 

      while (reader.Read()) 
      { 
       Console.WriteLine("\t{0}\t{1}", reader.GetInt32(0), 
        reader.GetString(1)); 
      } 
      reader.NextResult(); 
     } 
    } 
} 

如果是填充自DataAdapter的數據集,注意,如果的DataAdapter遇到多個結果,它會創建多個數據表(一個用於每個結果集)並將它們添加到結果數據集中。

相關問題