public byte[] SelectFoto(string campo, string tabla, string condicion) { string comando = string.Format("Select {0} from {1} where {2}", campo, tabla, condicion); SqlCommand cm = new SqlCommand(comando, conex); try { using (SqlDataReader dr = cm.ExecuteReader()) { if (dr.Read()) { if (dr[0] != DBNull.Value) { return((byte[])dr[0]); } else { return(null); } } else { return(null); } } } catch (SqlException ex) { GestionExcepcionWeb ge = new GestionExcepcionWeb(ex); ge.Log(); return(null); } }
public void CloseConnection() { try { conex.Close(); } catch (SqlException ex) { GestionExcepcionWeb ge = new GestionExcepcionWeb(ex); ge.Log(); } }
public AccesoSql(string nombreConnectionStringWebConfig = "conex") { conex = new SqlConnection(); try { conex.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings[nombreConnectionStringWebConfig].ToString(); conex.Open(); } catch (Exception ex) { GestionExcepcionWeb ge = new GestionExcepcionWeb(ex); ge.Log(); } }
/// <summary> /// Este método ejecuta una sentencia sql en la B.D. /// </summary> /// <param name="sentencia">Cadena de caracteres con la sentencia sql (insertar, consultar, borrar...)</param> /// <returns>Devuelve el resultado de cada sentencia en una Lista de Array de Objects.</returns> public FilasDB Ejecuta(string sentencia) { FilasDB filas = new FilasDB(); using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = conex; cmd.CommandText = sentencia; if (transaction != null) {//Si se creó una transacción para la conexión. cmd.Transaction = transaction; } try { using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { Object[] campos = new object[reader.FieldCount]; reader.GetValues(campos); filas.Add(campos); } //reader.Close(); No se pone porque al acabar el using, se llama a reader.Dispose() //que a su vez llama a reader.Close(); } } catch (Exception ex) { //Título en el archivo de Logs para separar por párrafos todos los mensajes //que pertenecen a la misma operación. GestionExcepcionWeb.WriteLog("ERROR SQL SERVER:"); GestionExcepcionWeb ge = new GestionExcepcionWeb(ex); ge.Log(); if (transaction != null) {//Si se están ejecutando los comandos SQL dentro de una transacción, si se produce alguna Excepción en algún //comando, hay que lanzar una excepción para recogerla desde el código que utiliza el objeto 'AccesoSql' y capturarla //para ejecutar el método 'RollBack()' de este objeto. GestionExcepcionWeb.WriteLog("FALLO EN TRANSACCIÓN SQL: La siguiente operación no se pudo completar con éxito: \n" + cmd.CommandText); throw new TransactionSqlException("No se pudo completar la Transacción Sql con éxito."); } } return(filas); } }
public AccesoSql(string servidor, string nombreBD, string user, string password) { conex = new SqlConnection(); string sentencia; sentencia = string.Format("Data Source={0};Initial catalog={1};User Id={2};Password={3}", servidor, nombreBD, user, password); conex.ConnectionString = sentencia; try { conex.Open(); } catch (Exception ex) { GestionExcepcionWeb ge = new GestionExcepcionWeb(ex); ge.Log(); } }
public bool UpdateFoto(string campo, string tabla, string condicion, byte[] valorBin) { string comando = string.Format("Update {0} set {1} = @pic where {2}", tabla, campo, condicion); using (SqlCommand cm = new SqlCommand(comando, conex)) { SqlParameter spm = new SqlParameter("@pic", System.Data.SqlDbType.Image); spm.Value = valorBin; cm.Parameters.Add(spm); try { cm.ExecuteNonQuery(); return(true); } catch (SqlException ex) { GestionExcepcionWeb ge = new GestionExcepcionWeb(ex); ge.Log(); return(false); } } }
public static bool WriteLog(Exception ex, string _nombreArchivo = "") { GestionExcepcionWeb ge = new GestionExcepcionWeb(ex, _nombreArchivo); return(ge.Log()); }