Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Връщане на множество таблици от съхранена процедура

Нормалният начин е да получите всичко наведнъж.

просто конструирайте своя SELECT 's и ще имате DataSet пълен с всички таблици.

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();
    }
}

ако например върнете 2 таблици във вашия SP, като:

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

ще получите достъп до тези таблици като:

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. Изследване на опциите за изчакване на заключване с нисък приоритет в SQL Server 2014 CTP1

  2. Изпълнете голям SQL скрипт (с GO команди)

  3. Как да предотвратите атаки с инжектиране на SQL чрез Secure

  4. Подзаявката на SQL Server върна повече от 1 стойност. Това не е разрешено, когато подзаявката следва =, !=, <, <=,>,>=

  5. SQL Server:ИЗБЕРЕТЕ само редовете с MAX(DATE)