//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 }
//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 }
//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; }
//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; }
//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; }
//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; }
public static Conexion Conexion_Instanciar() { if (instancia_conexion == null) instancia_conexion = new Conexion(); return instancia_conexion; }
public static Conexion Instancia() { return _conexion ?? (_conexion = new Conexion()); }