Google Web

29 sept. 2008

Pieza de arte (solo para conocedores)

A continuación dejare posteada una pieza de arte del código, para que los conocedores admiren y critiquen. Este código es original de un proyecto al que le estoy dando mantenimiento (y si ya borre esta clase del proyecto).

public class DbConn {

public string connString;
SqlConnection conn;
SqlTransaction trans;
SqlCommand command;
public bool modifyConn;
public int timeout;

public DbConn(bool _modifyConn) {
connString = ConfigurationManager.ConnectionStrings["Conn2"].ConnectionString;
conn = new SqlConnection(connString);
trans = null;
modifyConn = _modifyConn;
}

public DbConn() : this(false) { }

public SqlConnection fnObtenerConexion() {
return conn;
}

public DataTable fnObtenerDataTable(string consulta) {
fnObtenerComando(consulta);
DataTable dt = new DataTable();
SqlDataAdapter adap = new SqlDataAdapter(command);
adap.Fill(dt);
return dt;
}

public DataSet fnObtenerDataSet(string consulta) {
fnObtenerComando(consulta);
DataSet ds = new DataSet();
SqlDataAdapter adap = new SqlDataAdapter(command);
adap.Fill(ds);
return ds;

}

public string fnEjecutarConsulta(string consulta) {
return fnEjecutar(consulta, 2);
}

public string fnEjecutarEscalar(string consulta) {
return fnEjecutar(consulta, 1);
}

public string fnEjecutar(string consulta, int tipo) {
if (!modifyConn) conn.Open();
string resultado = "";
fnObtenerComando(consulta);

if (tipo == 1) {
resultado = command.ExecuteScalar().ToString();
} else if (tipo == 2) {
resultado = command.ExecuteNonQuery().ToString();
}

if (!modifyConn) conn.Close();
return resultado;
}
public void fnObtenerComando(string consulta) {
if (trans != null) {
command = new SqlCommand(consulta, conn, trans);
} else {
command = new SqlCommand(consulta, conn);
}
command.CommandTimeout = timeout;
}
}