SqlBatch 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
public ref class SqlBatch : IAsyncDisposable, IDisposable
public ref class SqlBatch : System::Data::Common::DbBatch
public class SqlBatch : IAsyncDisposable, IDisposable
public class SqlBatch : System.Data.Common.DbBatch
type SqlBatch = class
interface IDisposable
interface IAsyncDisposable
type SqlBatch = class
inherit DbBatch
Public Class SqlBatch
Implements IAsyncDisposable, IDisposable
Public Class SqlBatch
Inherits DbBatch
- 상속
-
SqlBatch
- 상속
-
SqlBatch
- 구현
예제
다음 예제에서는 a 및 a SqlConnection 를 SqlBatch만든 다음 일괄 처리에 여러 SqlBatchCommand 개체를 추가합니다. 그런 다음 일괄 처리를 실행하여 .를 만듭니다 SqlDataReader. 이 예제에서는 일괄 처리 명령의 결과를 읽고 콘솔에 기록합니다. 마지막으로, 이 예제는 블록을 닫은 다음 SqlConnection 블록이 using 범위를 벗어날 때 닫힙니다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();
using 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);
}
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));
}
}
다음 예제에서는 a 및 a SqlConnection 를 SqlBatch만든 다음 일괄 처리에 여러 SqlBatchCommand 개체를 추가합니다. 그런 다음 일괄 처리를 실행하여 .를 만듭니다 SqlDataReader. 이 예제에서는 일괄 처리 명령의 결과를 읽고 콘솔에 기록합니다. 마지막으로, 이 예제는 블록을 닫은 다음 SqlConnection 블록이 using 범위를 벗어날 때 닫힙니다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();
using 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);
}
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));
}
}
생성자
| 속성 | Description |
|---|---|
| SqlBatch() |
새 SqlBatch을 초기화합니다. |
| SqlBatch(SqlConnection, SqlTransaction) |
새 SqlBatch을 초기화합니다. |
속성
| 속성 | Description |
|---|---|
| BatchCommands |
의 일괄 처리에 포함된 명령 목록입니다 SqlBatchCommandCollection. |
| Commands |
의 일괄 처리에 포함된 목록 SqlBatchCommand 입니다 List<T>. |
| Connection |
의 이 인스턴스SqlConnection에서 SqlBatch 사용되는 값을 가져오거나 설정합니다. |
| DbBatchCommands |
개체의 SqlBatchCommand 컬렉션을 가져옵니다. |
| DbConnection |
이 DbConnection항목에서 사용되는 값을 SqlBatch 가져오거나 설정합니다. |
| DbTransaction |
이 SqlTransaction 개체가 SqlBatch 실행되는 내의 값을 가져오거나 설정합니다. |
| Timeout |
일괄 처리 실행 시도를 종료하고 오류를 생성하기 전에 대기 시간(초)을 가져오거나 설정합니다. |
| Transaction |
명령이 SqlTransaction 실행되는 내의 SqlBatch 값을 가져오거나 설정합니다. |
메서드
| 속성 | Description |
|---|---|
| Cancel() |
의 실행을 취소하려고 시도합니다 SqlBatch. |
| CreateDbBatchCommand() |
개체의 새 인스턴스를 SqlBatchCommand 만듭니다. |
| Dispose() |
관리되지 않는 리소스의 해제, 해제 또는 재설정과 관련된 애플리케이션 정의 작업을 수행합니다. |
| DisposeAsync() | 관리되지 않는 리소스를 비동기적으로 해제, 해제 또는 다시 설정과 관련된 애플리케이션 정의 작업을 수행합니다. |
| ExecuteDbDataReader(CommandBehavior) |
연결에 대해 일괄 처리를 실행하여 결과에 액세스하는 SqlDataReader 데 사용할 수 있는 일괄 처리를 반환합니다. |
| ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) |
이 구현은 메서드를 ExecuteReaderAsync() 호출하고 완료된 작업을 반환합니다. 이미 취소된 취소 토큰을 전달한 경우 기본 구현은 취소된 작업을 반환합니다. 이 메서드는 작업을 일찍 취소하도록 요청하는 데 사용할 수 있는 취소 토큰을 허용합니다. |
| ExecuteNonQuery() |
연결 개체에 대해 일괄 처리를 실행하여 모든 일괄 처리 명령에서 영향을 받는 총 행 수를 반환합니다. |
| ExecuteNonQueryAsync(CancellationToken) |
이 버전은 .의 비동기 버전입니다 ExecuteNonQuery().
구현은 메서드를 ExecuteNonQueryAsync(CancellationToken) 호출하고 완료된 작업을 반환합니다. 이미 취소된 취소 토큰을 전달한 경우 기본 구현은 취소된 작업을 반환합니다.
반환된 작업이 완료될 때까지 개체의 |
| ExecuteReader() |
를 CommandsConnection 보내고 빌드합니다 SqlDataReader. |
| ExecuteReader(CommandBehavior) |
를 CommandsConnection 보내고 빌드합니다 SqlDataReader. |
| ExecuteReaderAsync(CancellationToken) |
를 보내고 ExecuteReader()Commands 빌드하는 비동기 버전Connection입니다SqlDataReader. 반환된 Task 개체를 통해 예외가 보고됩니다. |
| ExecuteReaderAsync(CommandBehavior, CancellationToken) |
를 보내고 ExecuteReader()Commands 빌드하는 비동기 버전Connection입니다SqlDataReader. 반환된 Task 개체를 통해 예외가 보고됩니다. |
| ExecuteScalar() |
일괄 처리를 실행하고 반환된 첫 번째 결과 집합에서 첫 번째 행의 첫 번째 열을 반환합니다. 다른 모든 열, 행 및 결과 집합은 무시됩니다. |
| ExecuteScalarAsync(CancellationToken) |
일괄 처리를 실행하고 반환된 첫 번째 결과 집합에서 첫 번째 행의 첫 번째 열을 반환하는 비동기 버전 ExecuteScalar()입니다. 다른 모든 열, 행 및 결과 집합은 무시됩니다. |
| Prepare() |
데이터 원본에 준비된(또는 컴파일된) 버전의 일괄 처리 또는 각 명령을 만듭니다. |
| PrepareAsync(CancellationToken) |
데이터 원본에 준비된(또는 컴파일된) 버전의 일괄 처리 또는 각 명령을 비동기적으로 만듭니다. |