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

Как да върна множество набори от резултати със SqlCommand?

Вижте SqlDataReader.NextResult (SqlDataReader се връща от извикване на SqlCommand.ExecuteReader):

Придвижва четеца на данни към следващия резултат [набор], когато чете резултатите от пакетни Transact-SQL оператори.

Пример:

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#
  • Изпълнение на заявка, която връща множество набори от резултати със SqlDataReader:SqlCommand Изберете « ADO.Net « Урок за 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. Как да инсталирате SSMS

  2. Как да върнете низ в обратен ред с помощта на SQL Server – REVERSE()

  3. Как да търся низ в база данни на SQL Server?

  4. Променете паролата за вход в SA в SQL Server (пример за T-SQL)

  5. Как DB_NAME() работи в SQL Server