다음을 통해 공유


SqlBatch 클래스

정의

public ref class SqlBatch : System::Data::Common::DbBatch
public class SqlBatch : System.Data.Common.DbBatch
type SqlBatch = class
    inherit DbBatch
Public Class SqlBatch
Inherits DbBatch
상속
SqlBatch

예제

다음 예제에서는 및 를 SqlConnectionSqlBatch만든 다음 일괄 처리에 여러 SqlBatchCommand 개체를 추가합니다. 그런 다음 일괄 처리를 실행하여 를 만듭니다 SqlDataReader. 이 예제에서는 일괄 처리 명령의 결과를 읽고 콘솔에 기록합니다. 마지막으로, 이 예제에서는 를 닫은 다음 SqlConnection 블록이 using scope 떨어지면 을 닫습니다SqlDataReader.

using Microsoft.Data.SqlClient;

class Program
{
    static void Main()
    {
        string str = "Data Source=(local);Initial Catalog=Northwind;"
        + "Integrated Security=SSPI;Encrypt=False";
        RunBatch(str);
    }

    static void RunBatch(string connString)
    {
        using var connection = new SqlConnection(connString);
        connection.Open();

        var batch = new SqlBatch(connection);

        const int count = 10;
        const string parameterName = "parameter";
        for (int i = 0; i < count; i++)
        {
            var batchCommand = new SqlBatchCommand($"SELECT @{parameterName} as value");
            batchCommand.Parameters.Add(new SqlParameter(parameterName, i));
            batch.BatchCommands.Add(batchCommand);
        }

        // Optionally Prepare
        batch.Prepare();

        var results = new List<int>(count);
        using (SqlDataReader reader = batch.ExecuteReader())
        {
            do
            {
                while (reader.Read())
                {
                    results.Add(reader.GetFieldValue<int>(0));
                }
            } while (reader.NextResult());
        }
        Console.WriteLine(string.Join(", ", results));
    }
}

생성자

SqlBatch()

SqlBatch를 초기화합니다.

SqlBatch(SqlConnection, SqlTransaction)

SqlBatch를 초기화합니다.

속성

BatchCommands

의 일괄 처리에 포함된 명령 목록입니다 SqlBatchCommandCollection.

Commands

개체의 일괄 처리에 포함된 명령 목록입니다 IListSqlBatchCommand .

Connection

의 이 instance SqlBatch 사용되는 를 가져오거나 설정합니다SqlConnection.

DbBatchCommands

SqlBatchCommand 개체의 컬렉션을 가져옵니다.

DbConnection

DbConnection에서 사용하는 SqlBatch을 가져오거나 설정합니다.

DbTransaction

SqlBatch 개체를 실행할 SqlTransaction을 가져오거나 설정합니다.

Timeout

일괄 처리 실행 시도를 종료하고 오류를 생성하기 전에 대기 시간(초)을 가져오거나 설정합니다.

Transaction

명령이 SqlTransaction 실행되는 을 SqlBatch 가져오거나 설정합니다.

메서드

Cancel()

의 실행을 취소하려고 시도합니다 SqlBatch.

CreateDbBatchCommand()

SqlBatchCommand 개체의 새 인스턴스를 만듭니다.

Dispose()

관리되지 않는 리소스의 확보, 해제 또는 다시 설정과 관련된 애플리케이션 정의 작업을 수행합니다.

ExecuteDbDataReader(CommandBehavior)

해당 연결에 대해 일괄 처리를 실행하여 결과에 액세스하는 SqlDataReader 데 사용할 수 있는 을 반환합니다.

ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

이 구현은 메서드를 ExecuteReaderAsync() 호출하고 완료된 작업을 반환합니다. 기본 구현은 이미 취소된 취소 토큰을 전달하는 경우 취소된 작업을 반환합니다.

이 메서드는 조기에 취소할 작업을 요청하는 데 사용할 수 있는 취소 토큰을 허용합니다.

ExecuteNonQuery()

연결 개체에 대해 일괄 처리를 실행하여 모든 일괄 처리 명령에 영향을 받는 총 행 수를 반환합니다.

ExecuteNonQueryAsync(CancellationToken)

ExecuteNonQuery()의 비동기 버전입니다.

구현은 메서드를 ExecuteNonQueryAsync(CancellationToken) 호출하고 완료된 작업을 반환합니다. 기본 구현은 이미 취소된 취소 토큰을 전달하는 경우 취소된 작업을 반환합니다.

반환된 작업이 완료될 때까지 DbCommand 개체의 다른 메서드 및 속성을 호출하지 마십시오.

ExecuteReader()

CommandsConnection 보내고 를 빌드합니다 SqlDataReader .

ExecuteReaderAsync(CancellationToken)

를 에 보내고 ConnectionCommands 를 빌드하는 의 비동기 버전 ExecuteReader() 입니다SqlDataReader. 예외는 반환된 작업 개체를 통해 보고됩니다.

ExecuteScalar()

일괄 처리를 실행하고 반환된 첫 번째 결과 집합에서 첫 번째 행의 첫 번째 열을 반환합니다. 다른 모든 열, 행 및 결과 집합은 무시됩니다.

ExecuteScalarAsync(CancellationToken)

일괄 처리를 실행하고 반환된 첫 번째 결과 집합에서 첫 번째 행의 첫 번째 열을 반환하는 의 비동기 버전 ExecuteScalar()입니다. 다른 모든 열, 행 및 결과 집합은 무시됩니다.

Prepare()

데이터 원본에 준비된(또는 컴파일된) 버전의 일괄 처리 또는 각 명령을 만듭니다.

PrepareAsync(CancellationToken)

데이터 원본에 준비된(또는 컴파일된) 버전의 일괄 처리 또는 각 명령을 비동기적으로 만듭니다.

적용 대상