SqlBatch 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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) 호출하고 완료된 작업을 반환합니다. 기본 구현은 이미 취소된 취소 토큰을 전달하는 경우 취소된 작업을 반환합니다. 반환된 작업이 완료될 때까지 |
ExecuteReader() |
을 Commands 에 Connection 보내고 를 빌드합니다 SqlDataReader . |
ExecuteReaderAsync(CancellationToken) |
를 에 보내고 ConnectionCommands 를 빌드하는 의 비동기 버전 ExecuteReader() 입니다SqlDataReader. 예외는 반환된 작업 개체를 통해 보고됩니다. |
ExecuteScalar() |
일괄 처리를 실행하고 반환된 첫 번째 결과 집합에서 첫 번째 행의 첫 번째 열을 반환합니다. 다른 모든 열, 행 및 결과 집합은 무시됩니다. |
ExecuteScalarAsync(CancellationToken) |
일괄 처리를 실행하고 반환된 첫 번째 결과 집합에서 첫 번째 행의 첫 번째 열을 반환하는 의 비동기 버전 ExecuteScalar()입니다. 다른 모든 열, 행 및 결과 집합은 무시됩니다. |
Prepare() |
데이터 원본에 준비된(또는 컴파일된) 버전의 일괄 처리 또는 각 명령을 만듭니다. |
PrepareAsync(CancellationToken) |
데이터 원본에 준비된(또는 컴파일된) 버전의 일괄 처리 또는 각 명령을 비동기적으로 만듭니다. |