public static ResultadoDB EjecutaQry(String query, Boolean Historica) { //@091116 objeto sobre la clase que tiene los resultados de la consulta a base de datos o sus errores sobre la misma ResultadoDB salida = new ResultadoDB(); //@091116 se inicia la conexión correspondiente hacia la base de datos if (Historica == false) { //using (SqlConnection conexion = new SqlConnection("Data Source=NEWPROJECT1\\SQLEXPRESS;Initial Catalog=HISTORIAL_CLINICO;Integrated Security=True")) using (SqlConnection conexion = new SqlConnection(ConfigurationManager.ConnectionStrings["cadenaBO"].ToString())) { try { SqlCommand command = new SqlCommand(query, conexion); //@091116 se abre la conexión conexion.Open(); //@091116 con el adaptador se realiza la sentencia transaccional SqlDataAdapter dataAdapter = new SqlDataAdapter(command); //@091116se prepara el objeto que recibirá los datos recibidos DataSet dataSet = new DataSet(); //@091116 cualquier información recibida, el adaptador llenará el objeto data set dataAdapter.Fill(dataSet); //@091116 se llena el objeto de respuesta con la información de la consulta salida.Datos = dataSet; salida.Error = false; salida.Excepcion = null; } catch (Exception ex) { //@091116 cualquier error se indica en el objeto de respuesta salida.Error = true; salida.Excepcion = ex; salida.Datos = null; } finally { //@091116 siempre se realiza la desconexión a la base if (conexion.State == ConnectionState.Open) { conexion.Close(); } } } } else { //using (SqlConnection conexion = new SqlConnection("Data Source=NEWPROJECT1\\SQLEXPRESS;Initial Catalog=HISTORIAL_CLINICO;Integrated Security=True")) using (SqlConnection conexion = new SqlConnection(ConfigurationManager.ConnectionStrings["cadenaBOHist"].ToString())) { try { SqlCommand command = new SqlCommand(query, conexion); //@091116 se abre la conexión conexion.Open(); //@091116 con el adaptador se realiza la sentencia transaccional SqlDataAdapter dataAdapter = new SqlDataAdapter(command); //@091116se prepara el objeto que recibirá los datos recibidos DataSet dataSet = new DataSet(); //@091116 cualquier información recibida, el adaptador llenará el objeto data set dataAdapter.Fill(dataSet); //@091116 se llena el objeto de respuesta con la información de la consulta salida.Datos = dataSet; salida.Error = false; salida.Excepcion = null; } catch (Exception ex) { //@091116 cualquier error se indica en el objeto de respuesta salida.Error = true; salida.Excepcion = ex; salida.Datos = null; } finally { //@091116 siempre se realiza la desconexión a la base if (conexion.State == ConnectionState.Open) { conexion.Close(); } } } } return(salida); }
/// <summary> /// método statico para la ejecución de SP's seguros en base de datos /// </summary> /// <param name="Procedimiento">Nombre del procedimiento a ejecutar</param> /// <param name="Parametros">lista de parámetros del procedimiento</param> /// <returns>clase ResultadoDB</returns> public static ResultadoDB EjecutaSP(string Procedimiento, List <SqlParameter> Parametros) { //@091116 objeto sobre la clase que tiene los resultados de la consulta a base de datos o sus errores sobre la misma ResultadoDB salida = new ResultadoDB(); //@091116 se inicia la conexión correspondiente hacia la base de datos //@081116 se cambia la conexión hacia una base localDB por medio de las propiedades de configuración using (SqlConnection conexion = new SqlConnection("Data Source=NEWPROJECT1\\SQLEXPRESS;Initial Catalog=HISTORIAL_CLINICO;Integrated Security=True")) //todo: cambiar la cadena al liberar //using (SqlConnection conexion = new SqlConnection(Properties.Settings.Default.Conexion)) { try { //@091116 siempre se llama a stores procedures y se preparan con el objeto command SqlCommand command = new SqlCommand(Procedimiento, conexion) { //@091116 se especifica que siempre son SP's CommandType = CommandType.StoredProcedure }; //@091116 se abre la conexión conexion.Open(); //@091116 con esta acción analiza que parámetros necesita el SP SqlCommandBuilder.DeriveParameters(command); //@091116 se recorre el arreglo de parámetros para enviar al SP foreach (SqlParameter pr in Parametros) { //@091116 cada parámetro se agrega a la colección de parámetros del objeto command command.Parameters[pr.ParameterName].Value = pr.Value; } //@091116 con el adaptador se realiza la sentencia transaccional SqlDataAdapter dataAdapter = new SqlDataAdapter(command); //@091116se prepara el objeto que recibirá los datos recibidos DataSet dataSet = new DataSet(); //@091116 cualquier información recibida, el adaptador llenará el objeto data set dataAdapter.Fill(dataSet); //@091116 se llena el objeto de respuesta con la información de la consulta salida.Datos = dataSet; salida.Error = false; salida.Excepcion = null; } catch (Exception ex) { //@091116 cualquier error se indica en el objeto de respuesta salida.Error = true; salida.Excepcion = ex; salida.Datos = null; } finally { //@091116 siempre se realiza la desconexión a la base if (conexion.State == ConnectionState.Open) { conexion.Close(); } } } return(salida); }