La clsDades segueix creixent i cada cop es sembla més a una navalla suïssa de les bases de dades. Els mètodes del primer post d'aquesta sèrie executen un SQL i retornen una taula, els mètodes que poso a continuació són els encarregats d'executar SQLs que no retornen una taula com a resultat. Normalment són els SQL relacionats amb INS/UPD/DEL que retornen el nombre de registres afectats. Aquesta funció està disponibles en tres sabors, depenent del detall que volem, la primera que rep un SQL i la funció ja s'apanya a executar-lo, la segona que rep la connexió sobre la que executar l'SQL i la tercera que també rep la transacció. Com sempre el codi:
public int ExecNonQuery(string SQL)
{
int Results = 0;
SqlConnection localSqlConn;
bool Local = false;
if (SQLConn != null)
{
localSqlConn = SQLConn;
}
else
{
Local = true;
localSqlConn = new SqlConnection();
localSqlConn.ConnectionString = CadConnBBDD;
localSqlConn.Open();
}
Results = ExecNonQuery(SQL, localSqlConn);
if (Local) localSqlConn.Close();
return Results;
}
public int ExecNonQuery(string SQL, SqlConnection pSqlConn)
{
return ExecNonQuery(SQL, pSqlConn, SQLTrans);
}
public int ExecNonQuery(string SQL, SqlConnection SqlConn, SqlTransaction SqlTrann)
{
int Results = 0;
SqlCommand SqlComm = new SqlCommand();
SqlComm.Connection = SqlConn;
if (SqlTrann != null) SqlComm.Transaction = SqlTrann;
SqlComm.CommandText = SQL;
SqlComm.CommandType = CommandType.Text;
Results = SqlComm.ExecuteNonQuery();
return Results;
}
|