public void ExecuteReader(DBSettingEntity dbSetting, Func <IDataReader, bool> funcProccessDataReader) { try { using (IDbConnection con = DBManagerFactory.BuilConnection(dbSetting.ProviderType, dbSetting.ConnectionString)) { con.Open(); IDbTransaction idbTransaction = null; if (dbSetting.IsTransaction) { idbTransaction = con.BeginTransaction(); } using (IDbCommand cmd = DBManagerFactory.BuildCommand(dbSetting.ProviderType, con, idbTransaction, dbSetting.CommandType, dbSetting.CommandText)) { this.AttachParameters(cmd, dbSetting.Parameters, dbSetting.ProviderType); using (IDataReader dr = cmd.ExecuteReader()) { funcProccessDataReader.Invoke(dr); } if (idbTransaction != null) { idbTransaction.Commit(); } } } } catch (SqlException ex) { throw this.TranslateException(ex); } }
public object ExecuteScalar(DBSettingEntity dbSetting) { try { object result; using (IDbConnection con = DBManagerFactory.BuilConnection(dbSetting.ProviderType, dbSetting.ConnectionString)) { con.Open(); IDbTransaction idbTransaction = null; if (dbSetting.IsTransaction) { idbTransaction = con.BeginTransaction(); } using (IDbCommand cmd = DBManagerFactory.BuildCommand(dbSetting.ProviderType, con, idbTransaction, dbSetting.CommandType, dbSetting.CommandText)) { this.AttachParameters(cmd, dbSetting.Parameters, dbSetting.ProviderType); result = cmd.ExecuteScalar(); if (idbTransaction != null) { idbTransaction.Commit(); } } } return(result); } catch (SqlException ex) { throw this.TranslateException(ex); } }
public void ExecuteDataSet(DBSettingEntity dbSetting, Func <DataSet, bool> funcProccessDataSet) { try { using (IDbConnection con = DBManagerFactory.BuilConnection(dbSetting.ProviderType, dbSetting.ConnectionString)) { con.Open(); IDbTransaction idbTransaction = null; if (dbSetting.IsTransaction) { idbTransaction = con.BeginTransaction(); } using (IDbCommand cmd = DBManagerFactory.BuildCommand(dbSetting.ProviderType, con, idbTransaction, dbSetting.CommandType, dbSetting.CommandText)) { this.AttachParameters(cmd, dbSetting.Parameters, dbSetting.ProviderType); IDbDataAdapter dataAdapter = DBManagerFactory.GetDataAdapter(dbSetting.ProviderType); dataAdapter.SelectCommand = cmd; DataSet dataSet = new DataSet(); dataAdapter.Fill(dataSet); funcProccessDataSet.Invoke(dataSet); if (idbTransaction != null) { idbTransaction.Commit(); } } } } catch (SqlException ex) { throw this.TranslateException(ex); } }