miércoles, 26 de octubre de 2011

Objeto para conexión a base de datos

Hola a todos, con la finalidad de unificar la forma en la que se realizarán las conexiones a base de datos para el proyecto de programación, propongo la creación de una clase única que nos sirva a todos para conectarnos y ejecutar procedimientos almacenados contra la base de datos, de esta manera será mucho más sencillo utilizarla y darle mantenimiento.

A continuación les pongo un código propuesta para realizar esta tarea.  Este código ya ha sido probado.

Saludos y quedo en espera de sus comentarios


using System;
using System.Collections.Generic;

using System.Web;
using System.Data.SqlClient;
using System.Data;

namespace Maestria.Objects
{
    public class DBConnect
    {
        System.Data.SqlClient.SqlConnection conn;
        private string _connString;

        public DBConnect(string pConnString)
        {
            this._connString = pConnString;
        }

          public ConnectionState openConnection()
        {
            System.Data.ConnectionState connState;

            conn = new System.Data.SqlClient.SqlConnection(_connString);
            try
            {
                conn.Open();
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                throw (ex);
            }
            finally
            {
                connState = conn.State;
            }
            return connState;
        }

        public void closeConnection()
        {
            try
            {
                conn.Close();
            }
            catch (SqlException ex)
            {
                throw (ex);
            }
        }

        public System.Data.DataSet ExecuteSP(string spName, System.Collections.ArrayList parameters)
        {
            DataSet ds = null;
            SqlDataAdapter dataAdapter = null;
            SqlCommand command = null;

            try
            {
                command = new SqlCommand();
                command.Connection = conn;
                command.CommandText = spName;
                command.CommandType = CommandType.StoredProcedure;

                // Add the parameter to the Parameters collection.              
                foreach (SqlParameter param in parameters)
                    command.Parameters.Add(param);

                //Fill in the dataset
                ds = new DataSet();
                dataAdapter = new SqlDataAdapter(command);
                dataAdapter.Fill(ds);

                return ds;
            }
            catch (SqlException ex)
            {
                throw (ex);
            }
        }

        public System.Data.DataSet ExecuteSP(string spName)
        {
            DataSet dataSet = null;
            SqlDataAdapter dataAdapter = null;
            SqlCommand command = null;

            try
            {
                command = new SqlCommand();
                command.Connection = conn;
                command.CommandText = spName;
                command.CommandType = CommandType.StoredProcedure;

                //Fill in the dataset
                dataSet = new DataSet();
                dataAdapter = new SqlDataAdapter(command);
                dataAdapter.Fill(dataSet);
            }
            catch (SqlException ex)
            {
                throw (ex);
            }
            finally
            {

            }
            return dataSet;
        }

        public byte[] ExecuteSPI(string spName)
        {
            byte[] array;
            SqlCommand command = null;
            object obj;

            try
            {
                command = new SqlCommand();
                command.Connection = conn;
                command.CommandText = spName;
                command.CommandType = CommandType.StoredProcedure;
                obj = command.ExecuteScalar();
                array = (byte[])obj;

                return array;

            }
            catch (SqlException ex)
            {
                throw (ex);
            }
            finally
            {

            }
        }  
    }
}

domingo, 2 de octubre de 2011

Importante

Para los que tienen como directores de tesis a:


Martin
Mercedes
Griselda


Estos profesores estarán fuera debido a un congreso y sólo estarán disponibles para firma de proyectos hasta el día martes, esto de acuerdo con información proporcionada por la profesora Estela.    Adjunto mensaje original.


"Les comento que los profesores Martin, Mercedes y Griselda se van a un Congreso la proxima semana, por lo tanto solo estaràn para firmarles dicha hoja hasta el martes."


Saludos

Seguidores