public override void Execute(Database db) { DbConnection conn = db.GetOpenDbConnection(); DbParameter[] parameters = db.GetParameters(this); DataSet = db.GetDataSetFromSql(this, CommandType.Text, false, conn, null, parameters); OnExecuted(db); Reset(); db.ReleaseConnection(conn); }
public virtual DataSet GetDataSet <T>(Database db, bool releaseConnection = true, DbConnection conn = null, DbTransaction tx = null) { if (conn == null) { conn = db.GetDbConnection(); } if (db.ServiceProvider.TryGet(out IParameterBuilder parameterBuilder)) { DataSet ds = db.GetDataSetFromSql(this, CommandType.Text, releaseConnection, conn, tx, parameterBuilder.GetParameters(this)); OnExecuted(db); return(ds); } else { Args.Throw <InvalidOperationException>("Unable to get IParameterBuilder for the database with connection string ({0}), should you specify a Database instance of your own instead of depending on the default database initializer? Be sure to call the appropriate Registrar method first", db.ConnectionString); return(null); } }