SQL Server Stored Procedures called from C#

Christian escribió unas clases que tienen dos propiedades principales que son el ConnectionString la cual sirve de referencia para la cadena de conexión y el ErrorMessage para el manejo de excepciones.

La implementación y utilización de esta clase la pueden ver en:

http://intellekt.ws/dottextweb/chris/archive/2004/04/06/158.aspx

Yo estoy programando los objetos de datos en SQL Server 2000 para cada uno de los objetos del sistema.

Vean la implementación de los objetos de datos, el ejemplo que utilizo es con el objeto «Estados»:

1 CREATE PROCEDURE intellektdb.spI_Estados
2
3 @nombre varchar(30)
4
5 AS
6
7 INSERT INTO
8 Estados([nombre])
9 VALUES
10 (@nombre)
11 GO

 La implementación del Método «Insert» dentro de la Clase Estados es la siguiente:

1 #region Insert(string nombre)
2 public bool Insert(string nombre)
3 {
4 int _rows = 0;
5 base.ErrorMessage = String.Empty;
6 SqlConnection cn = new SqlConnection(base.ConnectionString);
7 try
8 {
9 SqlCommand cmd = SqlHelper.CreateCommand(cn, «intellektdb.spI_Estados», «nombre»);
10 cmd.Parameters[«@nombre»].Value = nombre;
11
12 cn.Open();
13 _rows = cmd.ExecuteNonQuery();
14 }
15 catch (Exception ex)
16 {
17 base.ErrorMessage = String.Format(«DateTime:{0} Class:{1} Message: {2}», DateTime.Now, this.ToString(), ex.Message);
18 }
19 finally
20 {
21 if (cn.State == ConnectionState.Open)
22 cn.Close();
23 }
24 return _rows != 0;
25 }

Se implementaron los métodos GetRow, Update, Delete para la Clase Estados, con sus correspondientes Stored Procedures.

Creo que este esquema para la aplicación que estamos desarrollando es bastante práctico y sencillo, aunque creo que puede ser mejorado, una de las cosas que le voy a preguntar a Christian es porque al crear el SqlCommand y hacer la referencia al Stored Procedure se tiene que poner el nombre del usuario, en este caso «Intellektdb».

Espero que les sea útil este código.

 

 


Comentarios

Deja una respuesta