domingo, 20 de septiembre de 2009

Crear y Ejecutar un Procedimiento Almacenado (Store Procedure) en C#.net

Una característica de muchos gestores de bases de datos como Sql Server, es que permiten guardar las consultas para poder ejecutarlas desde nuestro código. Asi conseguimos abstraer nuestra lógica de datos de nuestra lógica de negocio. En Sql Server estas consultas se llaman "Procedimientos Almacenados". Un ejemplo de esto es:

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE dbo.sp_test

-- Add the parameters for the stored procedure here

@IdFoo int
AS
BEGIN
SELECT
*

FROM
Foo

WHERE
IdFoo = @IdFoo

END
GO SET ANSI_NULLS ON
GO
SET
QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE dbo.sp_test
-- Add the
parameters for the stored procedure here
@IdFoo
int
AS
BEGIN
SELECT
*
FROM
Foo
WHERE
IdFoo =
@IdFoo
END
GO


Este procedimiento recibe como parametro el entero @IdFoo, y busca en la tabla Foo, un registro que tenga el campo IdFoo igual al parametro de entrada @IdFoo. Para llamar este procedimiento de almacenado desde nuestro código tan sólo debemos hacer lo siguiente

public void ExecuteStoreProcedure(int idFoo)
{

using (SqlConnection connection = new SqlConnection(connectionString))

{

using (SqlCommand command = new SqlCommand())

{
connection.Open();


command.Connection = connection;

command.CommandType = System.Data.CommandType.StoredProcedure;

command.CommandText = "sp_test";

command.CommandTimeout = 10;


command.Parameters.AddWithValue("@IdFoo", idFoo);


SqlDataReader reader = command.ExecuteReader();

}
}
} public void
ExecuteStoreProcedure(int idFoo)
{
using (SqlConnection connection = new
SqlConnection(connectionString))
{
using (SqlCommand command = new
SqlCommand())
{
connection.Open();
command.Connection =
connection;
command.CommandType =
System.Data.CommandType.StoredProcedure;
command.CommandText =
"sp_test";
command.CommandTimeout =
10;
command.Parameters.AddWithValue("@IdFoo", idFoo);
SqlDataReader reader
= command.ExecuteReader();
}
}
}


Como vemos es muy fácil, creamos una conexión, y un comando. A este comando le decimos que ejecutará el procedimiento sp_test y le pasamos el parametro idFoo como @IdFoo. El resultado de la consulta se guarda en un SqlDataReader. Ahora podremos recorrer este SqlDataReader para devolver algún dato o pasar la información a un objeto de negocio.
La principales ventajes de los procedimientos almacenados son:

  • Evita en parte los molestos ataques por inyección sql (sql injection).
  • La velocidad de la consulta es mayor.
  • Toda la logica de acceso a datos se encuentra en la base de datos.

domingo, 13 de septiembre de 2009

Microsoft Visual Studio 2010 Beta 1

Hace unos días descargué de la página oficial de Microsoft la primera Beta de la Suite de Visual Studio 2010, lo instalé en mi equipo para empezar a probar las nuevas funcionalidades que posee. aquí les muestro algunas pantallas que capturé durante la instalación y tambien en el primer uso que le dí en mi comptadora.Antes de continuar instalando lo único que difiere de las instalaciones de las versiones anteriores es que pide seleccionar entre dos tipos de soporte de la instalación como "Entorno de Desarrollo en .NET" o como "Entorno de Desarrollo de C++" obviamente el que se elige mayormente es la primera opción.La instalación personalizada permite escoger los elementos que necesitaremos en nuestro entorno en ejecución, en donde podemos elegir entre los lenguajes de programación que instalaremos para utilizarlos posteriormente, cabe destacar que en esta versión 2010 se implementa un nuevo lenguajes de programación llamado "F#". En la página oficial de microsoft existe documentación sobre este nuevo lenguaje.
Se procede con los pasos básicos para la instalación, un poco diferente la interfaz de instalación hasta terminar los procesos necesarios.
Reiniciamos la computadora y procederemos a abrir nuestro Visual Studio con el IDE que se encuentra como siempre en el menú inicio, y esta es la interfaz principal de inicio:
Vamos a crear un nuevo proyecto para que vean como es la interfaz en donde se crean los proyectos nuevos de los lenguajes instalados.

Voy a insertar un botón y lo programaré para mostrar un mensaje en pantalla, esto lo hago con la intención de que observen las herramientas de desarrollo y el editor de código mejorado, el aspecto visual para programar es mucho mejor que las versiones anteriores.


Y esto fue una visita rápida en Visual Studio 2010 Beta 1, para que ya se vayan familiarizando en esta nueva versión, con muchas mejoras para nosotros como desarrolladores y eso hace que nuestras aplicaciones sean elaboradas cada vez mas rápidas y con mayor calidad.