Utilizando la Biblioteca SqlHelper (3/3)

Ejecutar una consulta y devolver un sólo valor:

Como bien es sabido, para ejecutar una consulta y devolver un sólo valor a través de un SqlCommand, debemos ejecutar un el método ExecuteNonQuery().

Es fácil realizar una ejecución de este método de forma controlada a través de la biblioteca SqlHelper, ya que contiene métodos que nos facilitarán dicha tarea. Esto nos permitirá devolver un valor con tan sólo 2 líneas de código:

private void StartScalarDemo()
{
var query = "SELECT CompanyName FROM Customers WHERE CustomerID = 'BLAUS'";
var result = SqlHelper.ExecuteScalar(GlobalData.ConnectionString, CommandType.Text, query);
Debug.WriteLine(result);
}

En primer lugar, hemos de definir la sentencia a ejecutar, mientras que en la siguiente ejecutaremos el método denominado ExecuteNonQuery que se encargará de llevar a cabo todo el proceso correspondiente al manejo de apertura y cierre de la base de datos, así como la gestión de errores.

Ejecutar una consulta del tipo NonQuery:

Si lo que deseamos es llevar a cabo la ejecución de una consulta que no devuelva información de la base de datos (tal como un insert o un delete), la lógica será similar al ejemplo anterior, con la diferencia de que el método que hemos de ejecutar es ExecuteNonQuery, que nos devolverá el número de filas afectadas, y el cual ejecutaremos de la siguiente forma en el caso de querer insertar información:

        private void StartNonQueryDemo1()
        {
            String query = "";
            query = query + "INSERT INTO [dbo].[Customers] " + "\n";
            query = query + " ([CustomerID] " + "\n";
            query = query + " ,[CompanyName] " + "\n";
            query = query + " ,[ContactName] " + "\n";
            query = query + " ,[ContactTitle] " + "\n";
            query = query + " ,[Address] " + "\n";
            query = query + " ,[City] " + "\n";
            query = query + " ,[Region] " + "\n";
            query = query + " ,[PostalCode] " + "\n";
            query = query + " ,[Country] " + "\n";
            query = query + " ,[Phone] " + "\n";
            query = query + " ,[Fax]) " + "\n";
            query = query + " VALUES " + "\n";
            query = query + " ('XYZ' " + "\n";
            query = query + " ,'HECTORS COMPANY' " + "\n";
            query = query + " ,'HÉCTOR PÉREZ' " + "\n";
            query = query + " ,'M.C.C' " + "\n";
            query = query + " ,'AV. HOGWARTS' " + "\n";
            query = query + " ,'MAGICLAND' " + "\n";
            query = query + " ,'REGIONLAND' " + "\n";
            query = query + " ,'99999' " + "\n";
            query = query + " ,'UK' " + "\n";
            query = query + " ,'2222' " + "\n";
            query = query + " ,'2222')";

            var result = SqlHelper.ExecuteNonQuery(GlobalData.ConnectionString, CommandType.Text, query);
            Debug.WriteLine("Registros agregados: {0}", result);
        }

 

En caso de desear eliminar el registro insertado en el ejemplo anterior, o bien, algún otro, debemos hacer una ejecución como en el siguiente ejemplo:

        private void StartNonQueryDemo2()
        {
            String query = "DELETE FROM [Customers] WHERE [CustomerID] = 'XYZ'";

            var result = SqlHelper.ExecuteNonQuery(GlobalData.ConnectionString, CommandType.Text, query);
            Debug.WriteLine("Filas eliminadas: {0}", result);
        }

Hemos visto que la utilización de la biblioteca SqlHelper es de mucha ayuda a la hora de programar, lo único que falta es que la integres a tus proyectos si te ha gustado. De nuevo, dejo el link de github si deseas integrar una biblioteca de clases de utilidades que se irán agregando poco a poco.

Saludos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

0
    0
    Your Cart
    Your cart is emptyReturn to Shop