/// <summary> /// Se encarga de validar las respuestas obtenidas de los métodos de la clase SQL /// </summary> /// <param name="res">Resultado devuelto por los métodos sql</param> /// <param name="Area">Aréa o Tabla de la Base de Datos</param> /// <param name="MensajeError">Mensaje de Error para Insertar en el Control de Errores, en caso de ocurrir</param> /// <returns></returns> public static object[] Control(object[] res, string Area, string MensajeError) { var resultado = new object[2] { true, "" }; var checkPoint = ""; if (Convert.ToBoolean(res[0]) != true) { resultado[0] = false; if (res[2] != null) { checkPoint = res[2].ToString(); } resultado[1] = checkPoint; if (res[1] != null) { var ex = res[1] as Exception; RegistrarError.QTCO(Area, MensajeError, ex); } } else { resultado[1] = res[1]; } return(resultado); }
public static List <SelectListItem> ListItems(String BaseDatos, String sql, String selected) { var listado = new List <SelectListItem>(); var table = SelectDataTable(BaseDatos, sql); foreach (DataRow row in table.Rows) { try { var item = new SelectListItem(); item.Text = tDatos.ToString(row["text"]); item.Value = tDatos.ToString(row["value"]); if (item.Value == selected) { item.Selected = true; } listado.Add(item); } catch (Exception ex) { RegistrarError.General(BaseDatos, cAreas.Html, "Leer ListItem de la consulta:" + sql, ex); } } return(listado); }
public static DateTime?SelectFecha(String sql, String BaseDatos) { DateTime?c = null; try { var table = SQL.SelectDataTable(BaseDatos, sql); if (table != null) { if (table.Rows.Count > 0) { var row = table.Rows[0]; if (row != null) { c = tDatos.ToDateTimeN(row[0]); } } } } catch (Exception ex) { RegistrarError.General(BaseDatos, cAreas.SQL, "Select Fecha?, " + sql, ex); } return(c); }
/// <summary> /// lee una cadea de una consulta sql /// </summary> /// <param name="sql">consulta sql</param> /// <param name="BaseDatos">clave de la base de datos</param> /// <returns></returns> public static String SelectString(String sql, String BaseDatos) { var c = ""; try { var table = SQL.SelectDataTable(BaseDatos, sql); if (table != null) { if (table.Rows.Count > 0) { var row = table.Rows[0]; if (row != null) { c = tDatos.ToString(row[0]); } } } } catch (Exception ex) { RegistrarError.General(BaseDatos, cAreas.SQL, "Select String, " + sql, ex); } return(c); }
/// <summary> /// lee un decimal o un nulo devuelto de una consulta sql /// </summary> /// <param name="sql">consulta sql</param> /// <param name="BaseDatos">clave de la base de datos</param> /// <returns></returns> public static decimal?SelectDecimal(String sql, String BaseDatos) { decimal?c = 0; try { var table = SQL.SelectDataTable(BaseDatos, sql); if (table != null) { if (table.Rows.Count > 0) { var row = table.Rows[0]; if (row != null) { c = tDatos.ToDecimal(row[0]); } } } } catch (Exception ex) { RegistrarError.General(BaseDatos, cAreas.SQL, "Select Decimal?, " + sql, ex); } if (c == null) { c = 0; } return(c); }
public static List <T> SelectList <T>(String BaseDatos, String sql) where T : new() { var conexion = Conexion.Create(BaseDatos); conexion.Open(); using (var tabla = new DataTable()) { SqlDataAdapter adapter = new SqlDataAdapter(); try { adapter.SelectCommand = new SqlCommand(sql, conexion); adapter.Fill(tabla); } catch (Exception ex) { RegistrarError.General(BaseDatos, cAreas.SQL, "Buscar Dinámico para DataTable: " + sql.Replace("'", "*"), ex); } finally { try { adapter.Dispose(); } catch (Exception ex) { RegistrarError.General(BaseDatos, cAreas.SQL, "Dispose Adapter en Buscar Dinámico para DataTable: " + sql, ex); } try { conexion.Close(); conexion.Dispose(); } catch (Exception ex) { RegistrarError.General(BaseDatos, cAreas.SQL, "Cerrar y Dispose conexión en Buscar Dinámico para DataTable: " + sql, ex); } } var listado = tDatos.TableToList <T>(tabla); return(listado); } }
/// <summary> /// ejecuta el procedimiento almacenado especificado y retorna un valor /// </summary> /// <param name="BaseDatos">clave de la bd</param> /// <param name="area">area del sistema</param> /// <param name="procedure">nombre del sp</param> /// <param name="parametros">lista de parametros, el primero debe ser el parametro output</param> /// <param name="OperacionCompleta">breve descripcion de la tarea invocadora realizada </param> /// <returns></returns> public static object[] ExecuteOutPut(String BaseDatos, String area, String procedure, List <SqlParameter> parametros, String OperacionCompleta) { object[] resultado = new object[3] { true, null, "" }; var checkPoint = ""; if (parametros.Count > 0) { checkPoint = " Crear la conexión. "; var conexion = Conexion.Create(BaseDatos); checkPoint = " Abrir la conexión. "; conexion.Open(); checkPoint = " Crear SqlCommand. "; var cmd = new SqlCommand("[dbo].[" + procedure + "]"); checkPoint = " Comenzar Transaction. "; SqlTransaction transaccion = conexion.BeginTransaction(); cmd.Transaction = transaccion; cmd.Connection = conexion; cmd.CommandType = CommandType.StoredProcedure; checkPoint = " Asignar parametro de retorno."; var parametroR = parametros.FirstOrDefault(); cmd.Parameters.AddWithValue(parametroR.ParameterName, parametroR.Value); cmd.Parameters[parametroR.ParameterName].Direction = ParameterDirection.Output; parametros.Remove(parametroR); checkPoint = " Asignar parametros. "; foreach (var parametro in parametros) { cmd.Parameters.AddWithValue(parametro.ParameterName, parametro.Value); } checkPoint = " Ejecutar Procedure. "; int result = 0; try { cmd.ExecuteNonQuery(); resultado[1] = result = tDatos.ToInt(cmd.Parameters[parametroR.ParameterName].Value); transaccion.Commit(); } catch (Exception ex) { resultado[2] = checkPoint; try { checkPoint = " Deshacer Transaction. "; transaccion.Rollback(); } catch (Exception ex2) { resultado[2] = checkPoint; RegistrarError.General(BaseDatos, area, checkPoint + OperacionCompleta, ex2); } resultado[0] = false; resultado[1] = ex; } finally { try { checkPoint = " Desechar Transaction. "; transaccion.Dispose(); } catch (Exception ex) { resultado[2] = checkPoint; RegistrarError.General(BaseDatos, area, checkPoint + OperacionCompleta, ex); } try { checkPoint = " Desechar SqlCommand. "; cmd.Dispose(); } catch (Exception ex) { resultado[2] = checkPoint; RegistrarError.General(BaseDatos, area, checkPoint + OperacionCompleta, ex); } try { checkPoint = " Cerrar conexión. "; conexion.Close(); conexion.Dispose(); } catch (Exception ex) { resultado[2] = checkPoint; RegistrarError.General(BaseDatos, area, checkPoint + OperacionCompleta, ex); } } } else { resultado[0] = false; } return(resultado); }
public static object[] Ejecutar(String BaseDatos, String area, String sql, String OperacionCompleta) { object[] resultado = new object[3] { true, null, "" }; var checkPoint = ""; checkPoint = " Crear la conexión. "; var conexion = Conexion.Create(BaseDatos); checkPoint = " Abrir la conexión. "; conexion.Open(); checkPoint = " Crear SqlCommand. "; var cmd = new SqlCommand(sql); checkPoint = " Comenzar Transaction. "; SqlTransaction transaccion = conexion.BeginTransaction(); cmd.Transaction = transaccion; cmd.Connection = conexion; checkPoint = " Ejecutar SQL."; try { cmd.ExecuteNonQuery(); transaccion.Commit(); } catch (Exception ex) { try { checkPoint = " Deshacer Transaction. "; transaccion.Rollback(); } catch (Exception ex2) { RegistrarError.General(BaseDatos, area, checkPoint + OperacionCompleta + "-SQL:" + sql, ex2); } resultado[0] = false; resultado[1] = ex; } finally { try { checkPoint = " Desechar Transaction. "; transaccion.Dispose(); } catch (Exception ex) { RegistrarError.General(BaseDatos, area, checkPoint + OperacionCompleta + "-SQL:" + sql, ex); } try { checkPoint = " Desechar SqlCommand. "; cmd.Dispose(); } catch (Exception ex) { RegistrarError.General(BaseDatos, area, checkPoint + OperacionCompleta + "-SQL:" + sql, ex); } try { checkPoint = " Cerrar conexión. "; conexion.Close(); conexion.Dispose(); } catch (Exception ex) { RegistrarError.General(BaseDatos, area, checkPoint + OperacionCompleta + "-SQL:" + sql, ex); } } resultado[2] = checkPoint; return(resultado); }