SqlBatch Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- Herencia
-
SqlBatch
- Herencia
-
SqlBatch
- Implementaciones
Ejemplos
En el ejemplo siguiente se crea un SqlConnection y , SqlBatchy, a continuación, se agregan varios SqlBatchCommand objetos al lote. A continuación, ejecuta el lote y crea un SqlDataReader. En el ejemplo se leen los resultados de los comandos por lotes y se escriben en la consola. Por último, el ejemplo cierra SqlDataReader y, a continuación, a SqlConnection medida que los using bloques quedan fuera del ámbito.
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));
}
}
En el ejemplo siguiente se crea un SqlConnection y , SqlBatchy, a continuación, se agregan varios SqlBatchCommand objetos al lote. A continuación, ejecuta el lote y crea un SqlDataReader. En el ejemplo se leen los resultados de los comandos por lotes y se escriben en la consola. Por último, el ejemplo cierra SqlDataReader y, a continuación, a SqlConnection medida que los using bloques quedan fuera del ámbito.
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));
}
}
Constructores
| Nombre | Description |
|---|---|
| SqlBatch() |
Inicializa un nuevo SqlBatch. |
| SqlBatch(SqlConnection, SqlTransaction) |
Inicializa un nuevo SqlBatch. |
Propiedades
| Nombre | Description |
|---|---|
| BatchCommands |
La lista de comandos contenidos en el lote en .SqlBatchCommandCollection |
| Commands |
Lista de SqlBatchCommand contenido en el lote en un List<T>. |
| Connection |
Obtiene o establece el SqlConnection objeto utilizado por esta instancia de .SqlBatch |
| DbBatchCommands |
Obtiene la colección de SqlBatchCommand objetos. |
| DbConnection |
Obtiene o establece el DbConnection objeto utilizado por este SqlBatchobjeto . |
| DbTransaction |
Obtiene o establece el objeto en el SqlTransaction que se ejecuta este SqlBatch objeto. |
| Timeout |
Obtiene o establece el tiempo de espera (en segundos) antes de finalizar el intento de ejecutar el lote y generar un error. |
| Transaction |
Obtiene o establece el objeto en el SqlTransaction que se ejecutan los SqlBatch comandos. |
Métodos
| Nombre | Description |
|---|---|
| Cancel() |
Intenta cancelar la ejecución de .SqlBatch |
| CreateDbBatchCommand() |
Crea una nueva instancia de un SqlBatchCommand objeto. |
| Dispose() |
Realiza tareas definidas por la aplicación asociadas a la liberación, liberación o restablecimiento de recursos no administrados. |
| DisposeAsync() | Realiza tareas definidas por la aplicación asociadas a la liberación, liberación o restablecimiento de recursos no administrados de forma asincrónica. |
| ExecuteDbDataReader(CommandBehavior) |
Ejecuta el lote en su conexión, devolviendo un SqlDataReader objeto que se puede usar para acceder a los resultados. |
| ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken) |
Esta implementación invoca el ExecuteReaderAsync() método y devuelve una tarea completada. La implementación predeterminada devolverá una tarea cancelada si se pasa un token de cancelación ya cancelado. Este método acepta un token de cancelación que se puede usar para solicitar la cancelación anticipada de la operación. |
| ExecuteNonQuery() |
Ejecuta el lote en su objeto de conexión y devuelve el número total de filas afectadas en todos los comandos por lotes. |
| ExecuteNonQueryAsync(CancellationToken) |
Esta es la versión asincrónica de ExecuteNonQuery().
La implementación invoca el ExecuteNonQueryAsync(CancellationToken) método y devuelve una tarea completada. La implementación predeterminada devolverá una tarea cancelada si se pasa un token de cancelación ya cancelado.
No invoque otros métodos y propiedades del |
| ExecuteReader() |
Commands Envía a Connection y compila un SqlDataReaderobjeto . |
| ExecuteReader(CommandBehavior) |
Commands Envía a Connection y compila un SqlDataReaderobjeto . |
| ExecuteReaderAsync(CancellationToken) |
Una versión asincrónica de ExecuteReader(), que envía Commands a Connection y compila un SqlDataReaderobjeto . Las excepciones se notificarán a través del objeto Task devuelto. |
| ExecuteReaderAsync(CommandBehavior, CancellationToken) |
Una versión asincrónica de ExecuteReader(), que envía Commands a Connection y compila un SqlDataReaderobjeto . Las excepciones se notificarán a través del objeto Task devuelto. |
| ExecuteScalar() |
Ejecuta el lote y devuelve la primera columna de la primera fila del primer conjunto de resultados devuelto. Se omiten todas las demás columnas, filas y conjuntos de resultados. |
| ExecuteScalarAsync(CancellationToken) |
Una versión asincrónica de ExecuteScalar(), que ejecuta el lote y devuelve la primera columna de la primera fila del primer conjunto de resultados devuelto. Se omiten todas las demás columnas, filas y conjuntos de resultados. |
| Prepare() |
Crea una versión preparada (o compilada) del lote, o de cada uno de sus comandos, en el origen de datos. |
| PrepareAsync(CancellationToken) |
Crea de forma asincrónica una versión preparada (o compilada) del lote, o de cada uno de sus comandos, en el origen de datos. |