예제 #1
0
        //método para ejecutar proc en la bd
        //el siguiente método funciona similar al anterior
        //solo que no utilizamos DataTable
        public int Ejecutar(string procedimiento, string[] parametros, params Object[] valparametros)
        {
            Conexion con = new Conexion();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con.conectar();
            cmd.CommandText = procedimiento;
            cmd.CommandType = CommandType.StoredProcedure;
            if (procedimiento.Length!=0 && parametros.Length==valparametros.Length)
            {
                int i = 0;
                foreach (string parametro in parametros)

                    cmd.Parameters.AddWithValue(parametro, valparametros[i++]);
                try
                {
                //lo unico que cambia es esto
                    //ya que retorna la ejecución directa
                    return cmd.ExecuteNonQuery();//
                }
                catch (Exception)
                {
                }

            }
            return 0;//si no retornamos cero
        }
예제 #2
0
        //el método sirve para consultar registro de una base de datos
        //sean mostrar todos los registro o los que necesitemos
        //es necesario pasarle tres parametros al método
        //1. nombre del procedimiento almacenado
        //2.parametros del procedimientos
        //3. valores de los parametros
        public DataTable getDatos(string procedimiento, string[] parametros, params Object[] valparametro)
        {
            //de tipo DataTable
            Conexion con = new Conexion();//instancio la conexión
            DataTable dt = new DataTable();//creo una nueva DataTable
            SqlCommand cmd = new SqlCommand();//creo un SqlCommand
            cmd.Connection = con.conectar();//y me conecto a la base de datos en el método conectar
            cmd.CommandText = procedimiento;//le especifico el nombre del procedimiento a ejecutar
            cmd.CommandType = CommandType.StoredProcedure;//le especifico que es un procedimiento almacenado
            if (procedimiento.Length!=0 && parametros.Length==valparametro.Length)//valido que los valores esten y sean correctos
            {
                int i = 0;//creo una variable para recorrer los valores ingresado
                foreach (string parametro in parametros)//recorro los parametros
                    cmd.Parameters.AddWithValue(parametro,valparametro[i++]);//ejecuto los valores que ingresaron
                try
                {
                    SqlDataReader dr = cmd.ExecuteReader();//ejecuto la instrucción con el SqlDataReader
                    dt.Load(dr);//cargo los registro en el dt (DataTable)
                    con.desconectar();//cierro la conexión
                    return dt;//retorno el dt (DataTable)

                }
                catch (Exception)
                {

                }

            }
            return dt;//retorno el DataTable
        }
예제 #3
0
        //Metodo para llenar un DataTable
        public static DataTable getDatosTabla(string nombreProcedimiento, string[] nombreParametros, params Object[] valoresDeParametros)
        {
            DataTable dataTable = new DataTable();
               SqlCommand cmd = new SqlCommand();
               Conexion conexion = new Conexion();
               cmd.Connection = conexion.getConexion();
               cmd.CommandText = nombreProcedimiento;
               cmd.CommandType = CommandType.StoredProcedure;
               if (nombreProcedimiento.Length != 0
               && nombreParametros.Length == valoresDeParametros.Length) {
                   int i = 0;
                   if (nombreParametros != null && valoresDeParametros != null)
                   {
                       foreach (string parametro in nombreParametros)
                           cmd.Parameters.AddWithValue(parametro, valoresDeParametros[i++]);
                   }
                   try{
                       SqlDataReader dataReader = cmd.ExecuteReader();
                       dataTable.Load(dataReader);

                       return dataTable;
                   }
                   catch (Exception){
                       throw new Exception("Error en la consulta.");
                   }

               }

               return dataTable;
        }
        /*  El método de tipo DataTable sirve para consultar registros de una base de datos, 
         *  sean mostrar todos los registros o los que necesitemos. Es necesario pasarle tres 
         *  parametros al método: 
         *  
         *  1. Nombre del procedimiento almacenado. 
         *  2.Parámetros del procedimiento.
         *  3. Valores de los parametros */

        public DataTable getDatos(string procedimiento, string[] parametros, params Object[] valParametro)
        {
            // Instanciamos la conexión
            Conexion con = new Conexion();
            
            // Se crea una nueva DataTable
            DataTable dt = new DataTable();

            // Creamos un nuevo SqlCommand
            SqlCommand cmd = new SqlCommand();

            // Nos conectamos a la base de datos en el método conectar()
            cmd.Connection = con.conectar();

            // Especifica el nombre del procedimiento a ejecutar
            cmd.CommandText = procedimiento;

            // Determinamos que es un procedimiento almacenado
            cmd.CommandType = CommandType.StoredProcedure;

            // Se valida que los valores esten y sean correctos
            if (procedimiento.Length != 0 && parametros.Length == valParametro.Length)
            {
                // Creamos una variable para recorrer los valores ingresados
                int index = 0;

                // Recorre los parametros
                foreach (string parametro in parametros)
                {
                    // Ejecuta los valores que ingresaron 
                    cmd.Parameters.AddWithValue(parametro, valParametro[index++]);
                }
                                
                try
                {
                    // Efectuamos la instrucción con el SqlDataReader
                    SqlDataReader dr = cmd.ExecuteReader();

                    // Carga los registro en el dt (DataTable)
                    dt.Load(dr);

                    // Cierra la conexión
                    con.desconectar();

                    // Retornamos el dt (DataTable)
                    return dt;
                }
                catch (Exception)
                {
                    return null;
                }
            }
            // Retorno del DataTable
            return dt;
        }
예제 #5
0
 //metodo ejecutar procedimiento por ejemplo insert,delete,update,select
 public int Ejecutar(String nomprocedimiento,string [] nomparametros,params Object[]valparametros)
 {
     Conexion con = new Conexion();
     SqlCommand cmd = new SqlCommand();
     cmd.Connection = con.getConexion();
     cmd.CommandText = nomprocedimiento;
     cmd.CommandType = CommandType.StoredProcedure;
     if (nomprocedimiento.Length!=0 && nomparametros.Length == valparametros.Length)
     {
         int posicionParametro = 0;
         StringBuilder errorMessages = new StringBuilder();
         foreach (string parametro in nomparametros)
         {
             cmd.Parameters.AddWithValue(parametro, valparametros[posicionParametro++]);
         }
         return cmd.ExecuteNonQuery();
     }
     con.cerrarConexion();
     return 0;
 }
예제 #6
0
 //metodo para llenar un Data Table
 public DataTable getDatosTabla(String nomprocedimiento, string[] nomparametros, params Object[] valparametros)
 {
     DataTable dt = new DataTable();
     SqlCommand cmd = new SqlCommand();
     Conexion con = new Conexion();
     cmd.Connection = con.getConexion();
     cmd.CommandText = nomprocedimiento;
     cmd.CommandType = CommandType.StoredProcedure;
     if (nomprocedimiento.Length != 0 && nomparametros.Length == valparametros.Length)
     {
         int posicionParametro = 0;
         StringBuilder errorMessages = new StringBuilder();
         foreach (string parametro in nomparametros)
         {
             cmd.Parameters.AddWithValue(parametro, valparametros[posicionParametro++]);
         }
         SqlDataReader dr = cmd.ExecuteReader();
         dt.Load(dr);
         return dt;
     }
     return dt;
 }
예제 #7
0
        //Metodo para ejecutar Store Procedures
        public static int Ejecutar(string nombreProcedimiento,
           string[] nombreParametros, params Object[] valoresDeParametros)
        {
            Conexion conexion = new Conexion();
               SqlCommand cmd = new SqlCommand();
               cmd.Connection = conexion.getConexion();
               cmd.CommandType = CommandType.StoredProcedure;
               if (nombreProcedimiento.Length != 0
               && nombreParametros.Length == valoresDeParametros.Length)
               {
               int i = 0;
               foreach (string parametro in nombreParametros)
                   cmd.Parameters.AddWithValue(parametro, valoresDeParametros[i++]);
                   try{
                       return cmd.ExecuteNonQuery();
                   }
                   catch (Exception) {
                       return 1;
                   }
               }

               return 0;
        }
예제 #8
0
 public static Conexion Conexion_Instanciar()
 {
     if (instancia_conexion == null)
         instancia_conexion = new Conexion();
     return instancia_conexion;
 }
예제 #9
0
 public static Conexion Instancia()
 {
     return _conexion ?? (_conexion = new Conexion());
 }