Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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);
            }
        }