0% encontró este documento útil (0 votos)
5 vistas2 páginas

Uso de SqlCommand en ADO.NET

SqlCommand es una clase de ADO.NET que permite ejecutar instrucciones SQL y procedimientos almacenados en SQL Server, utilizando métodos como ExecuteReader, ExecuteNonQuery y ExecuteScalar. Ofrece características como soporte para parámetros, integración con otros objetos de ADO.NET y control sobre el tiempo de espera. Es especialmente útil en procesos ETL para la extracción y carga de datos, mejorando la seguridad y flexibilidad en la ejecución de comandos SQL.

Cargado por

esvalenciac.tmp
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas2 páginas

Uso de SqlCommand en ADO.NET

SqlCommand es una clase de ADO.NET que permite ejecutar instrucciones SQL y procedimientos almacenados en SQL Server, utilizando métodos como ExecuteReader, ExecuteNonQuery y ExecuteScalar. Ofrece características como soporte para parámetros, integración con otros objetos de ADO.NET y control sobre el tiempo de espera. Es especialmente útil en procesos ETL para la extracción y carga de datos, mejorando la seguridad y flexibilidad en la ejecución de comandos SQL.

Cargado por

esvalenciac.tmp
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

SqlCommand en ADO.

NET

Definición
SqlCommand es una clase fundamental de [Link] que permite ejecutar instrucciones SQL
y procedimientos almacenados en una base de datos SQL Server. Esta clase se utiliza junto
con SqlConnection para enviar comandos a la base de datos, ya sea para recuperar datos,
insertar, actualizar o eliminar registros. SqlCommand proporciona métodos como
ExecuteReader, ExecuteNonQuery y ExecuteScalar para manejar diferentes tipos de
operaciones.

Características principales
- Permite ejecutar sentencias SQL como SELECT, INSERT, UPDATE y DELETE.
- Compatible con procedimientos almacenados.
- Soporta parámetros para consultas dinámicas y seguras.
- Se integra con objetos como SqlDataReader, SqlDataAdapter y DataSet.
- Permite controlar el tiempo de espera (Timeout) y el tipo de comando (CommandType).

Ventajas
- Flexibilidad para ejecutar cualquier tipo de comando SQL.
- Integración directa con SQL Server.
- Permite un control detallado sobre la ejecución de comandos.
- Mejora la seguridad mediante el uso de parámetros que previenen inyecciones SQL.
- Compatible con operaciones sincrónicas y asincrónicas.

Seguridad y uso de parámetros


Una de las mejores prácticas al usar SqlCommand es emplear parámetros en lugar de
concatenar cadenas SQL. Esto previene ataques de inyección SQL, donde un atacante podría
manipular la consulta para ejecutar comandos maliciosos. SqlCommand permite agregar
parámetros mediante la colección Parameters, especificando el nombre, tipo de datos y
valor.

Casos de uso en procesos ETL


En procesos ETL (Extracción, Transformación y Carga), SqlCommand se utiliza
principalmente en las fases de extracción y carga. Durante la extracción, se ejecutan
comandos SELECT para obtener datos desde la base de datos origen. En la fase de carga, se
utilizan comandos INSERT, UPDATE o DELETE para insertar los datos transformados en la
base de datos destino. Gracias a su flexibilidad y compatibilidad con parámetros,
SqlCommand es ideal para automatizar tareas de integración de datos.

Ejemplos en C#
1. Ejecutar una consulta SELECT con SqlCommand y SqlDataReader:
using System;
using [Link];

class EjemploSelect {
static void Main() {
string cadenaConexion =
"Server=.;Database=EjemploDB;Trusted_Connection=True;";
using (SqlConnection conexion = new
SqlConnection(cadenaConexion)) {
[Link]();
SqlCommand comando = new SqlCommand("SELECT Nombre,
Edad FROM Personas", conexion);
SqlDataReader lector = [Link]();
while ([Link]()) {
[Link]($"{lector["Nombre"]}, {lector["Edad"]}");
}
}
}
}

2. Insertar datos usando parámetros para evitar inyección SQL:

using System;
using [Link];

class EjemploInsert {
static void Main() {
string cadenaConexion =
"Server=.;Database=EjemploDB;Trusted_Connection=True;";
using (SqlConnection conexion = new
SqlConnection(cadenaConexion)) {
[Link]();
SqlCommand comando = new SqlCommand("INSERT INTO
Personas (Nombre, Edad) VALUES (@nombre, @edad)", conexion);
[Link]("@nombre", "Carlos");
[Link]("@edad", 28);
int filasAfectadas = [Link]();
[Link]($"Filas insertadas: {filasAfectadas}");
}
}
}

También podría gustarte