Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để trả về nhiều tập kết quả với SqlCommand?

Xem SqlDataReader.NextResult (một SqlDataReader được trả về khi gọi SqlCommand.ExecuteReader):

Chuyển trình đọc dữ liệu đến kết quả tiếp theo [set], khi đọc kết quả của các câu lệnh Transact-SQL hàng loạt.

Ví dụ:

string commandText = @"SELECT Id, ContactId
FROM dbo.Subscriptions;

SELECT Id, [Name]
FROM dbo.Contacts;";


List<Subscription> subscriptions = new List<Subscription>();
List<Contact> contacts = new List<Contact>();

using (SqlConnection dbConnection = new SqlConnection(@"Data Source=server;Database=database;Integrated Security=true;"))
{
    dbConnection.Open();
    using (SqlCommand dbCommand = dbConnection.CreateCommand())
    {
        dbCommand.CommandText = commandText;
        using(SqlDataReader reader = dbCommand.ExecuteReader())
        {
            while(reader.Read())
            {
                subscriptions.Add(new Subscription()
                {
                    Id = (int)reader["Id"],
                    ContactId = (int)reader["ContactId"]
                });
            }

            // this advances to the next resultset 
            reader.NextResult();

            while(reader.Read())
            {
                contacts.Add(new Contact()
                {
                    Id = (int)reader["Id"],
                    Name = (string)reader["Name"]
                });
            }
        }
    }
}

Các ví dụ khác:

  • C # Nhiều Bộ Kết quả
  • Thực thi một truy vấn trả về nhiều tập kết quả với SqlDataReader:SqlCommand Chọn «ADO.Net« Hướng dẫn C # / CSharp


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xem lịch sử công việc của SQL Server Agent với SSMS

  2. Khi nào thì tốt hơn nên lưu trữ cờ dưới dạng bitmask thay vì sử dụng bảng kết hợp?

  3. 3 cách trả về một chuỗi nhiều không gian trong SQL Server

  4. Lỗi SQL với Thứ tự Theo trong Truy vấn Con

  5. Làm cách nào để thay đổi ràng buộc khóa chính bằng cú pháp SQL?