SqlCommand
SqlCommand
es una clase en el espacio de nombres Microsoft.Data.SqlClient
que se utiliza para ejecutar comandos SQL en una base de datos de SQL Server. Los comandos SQL más comunes que se utilizan con SqlCommand
son INSERT
, UPDATE
y DELETE
.
Para utilizar SqlCommand
, primero debemos crear una instancia de la clase y luego establecer la conexión a la base de datos utilizando una instancia de SqlConnection
. Luego, podemos crear un comando SQL utilizando el método CreateCommand
de la instancia de SqlConnection
. Por ejemplo:
using Microsoft.Data.SqlClient;
string connectionString = "Data Source=(local);Initial Catalog=nombre_de_la_base_de_datos;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string sql = "INSERT INTO tabla (campo1, campo2) VALUES (@valor1, @valor2)";
using (SqlCommand command = new SqlCommand(sql, connection))
{
command.Parameters.AddWithValue("@valor1", valor1);
command.Parameters.AddWithValue("@valor2", valor2);
command.ExecuteNonQuery();
}
}
En este ejemplo, hemos creado una instancia de SqlConnection
utilizando la cadena de conexión y luego hemos abierto la conexión utilizando el método Open
. Luego, hemos creado un comando SQL utilizando la cadena de comando sql
y la instancia de SqlConnection
. Hemos utilizado el método AddWithValue
de la instancia de SqlCommand
para agregar los valores de los parámetros @valor1
y @valor2
. Finalmente, hemos ejecutado el comando SQL utilizando el método ExecuteNonQuery
.
Para modificar y borrar datos, podemos utilizar comandos SQL similares. Por ejemplo, para modificar datos, podemos utilizar el comando UPDATE
. Para borrar datos, podemos utilizar el comando DELETE
. Aquí hay un ejemplo de cómo utilizar el comando UPDATE
:
using Microsoft.Data.SqlClient;
string connectionString = "Data Source=(local);Initial Catalog=nombre_de_la_base_de_datos;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string sql = "UPDATE tabla SET campo1 = @valor1 WHERE campo2 = @valor2";
using (SqlCommand command = new SqlCommand(sql, connection))
{
command.Parameters.AddWithValue("@valor1", valor1);
command.Parameters.AddWithValue("@valor2", valor2);
command.ExecuteNonQuery();
}
}
En este ejemplo, hemos utilizado el comando UPDATE
para modificar los valores del campo campo1
en la tabla tabla
donde el valor del campo campo2
es igual a @valor2
.
Aquí hay algunos métodos y propiedades comunes que se pueden utilizar con SqlCommand
:
- Métodos
ExecuteNonQuery()
: Ejecuta un comando SQL que no devuelve ningún resultado.ExecuteReader()
: Ejecuta un comando SQL que devuelve un objetoSqlDataReader
que se puede utilizar para leer los resultados.ExecuteScalar()
: Ejecuta un comando SQL que devuelve la primera columna de la primera fila del conjunto de resultados.Prepare()
: Prepara un comando SQL para su ejecución.
- Propiedades
CommandText
: Obtiene o establece el texto del comando SQL que se va a ejecutar.CommandTimeout
: Obtiene o establece el tiempo de espera antes de que se agote el tiempo de espera de la ejecución del comando.CommandType
: Obtiene o establece el tipo de comando SQL que se va a ejecutar.Connection
: Obtiene o establece la conexión de base de datos que se va a utilizar para ejecutar el comando SQL.Parameters
: Obtiene la colección de parámetros que se van a utilizar con el comando SQL.