Prepare
En C#, el método Prepare de la clase SqlCommand se utiliza para preparar (compilar y optimizar) una consulta SQL para su ejecución repetida. La preparación de consultas es especialmente útil cuando ejecutas la misma consulta varias veces con diferentes valores de parámetros, ya que puede mejorar el rendimiento al evitar la recompilación y la reoptimización de la consulta cada vez que se ejecuta.
Ejemplo 1: Consulta simple sin parámetros
using System; using System.Data.SqlClient;
class Program { static void Main() { string connectionString = “TuCadenaDeConexion”; string consulta = “SELECT * FROM TuTabla”;
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
using (SqlCommand command = new SqlCommand(consulta, connection))
{
// Preparar la consulta
command.Prepare();
// Realizar la ejecución de la consulta varias veces
for (int i = 0; i < 3; i++)
{
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader["Nombre"]);
}
}
}
}
}
}
}
Ejemplo 2: Consulta con parámetros
using System; using System.Data.SqlClient;
class Program { static void Main() { string connectionString = “TuCadenaDeConexion”; string consulta = “SELECT * FROM TuTabla WHERE Edad > @Edad”;
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
using (SqlCommand command = new SqlCommand(consulta, connection))
{
// Agregar parámetro
command.Parameters.AddWithValue("@Edad", 25);
// Preparar la consulta
command.Prepare();
// Realizar la ejecución de la consulta varias veces con diferentes valores de parámetros
for (int i = 0; i < 3; i++)
{
// Cambiar el valor del parámetro
command.Parameters["@Edad"].Value = i * 10;
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader["Nombre"]);
}
}
}
}
}
}
}