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

Trả lại nhiều bảng từ một thủ tục được lưu trữ

Cách thông thường là tải tất cả cùng một lúc.

chỉ cần xây dựng SELECT của bạn của và bạn sẽ có DataSet chứa đầy tất cả các bảng.

using (System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(myConnString))
{
    using (System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand())
    {
        cmd.CommandText = "myMultipleTablesSP";
        cmd.Connection = conn;
        cmd.CommandType = CommandType.StoredProcedure;

        conn.Open();

        System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter(cmd);

        DataSet ds = new DataSet();
        adapter.Fill(ds);

        conn.Close();
    }
}

ví dụ:nếu bạn trả về 2 bảng trong SP của mình, như:

SELECT * FROM [TableA];
SELECT * FROM [TableB];

bạn sẽ truy cập các bảng này với tư cách:

DataTable tableA = ds.Tables[0];
DataTable tableB = ds.Tables[1];


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách trả lại tất cả các ràng buộc kiểm tra bị vô hiệu hóa trong SQL Server (Ví dụ T-SQL)

  2. Nhận ID hàng được chèn cuối cùng (với câu lệnh SQL)

  3. Nhận ngày từ một số tuần trong T-SQL

  4. Cách thay đổi màu và phông chữ trong SQL Server Management Studio (SSMS) - Hướng dẫn SQL Server / TSQL Phần 12

  5. Tạo mối quan hệ trong SQL Server 2017