예제 #1
0
        public IList <T> GetDataList <T>(string SqlStr, CommandType commandType, GetResultList <T> getResultList, IList <DbParameter> ListDataParameter, TransactionStateType transactionStateType)
        {
            trans = null;
            IList <T> iList = new List <T>();

            using (DbConnection dbConnection = this.CreateConnection())
            {
                dbConnection.Open();

                DbCommand dbCommand = GetDbCommand(dbConnection, SqlStr, commandType);
                dbCommand.CommandTimeout = 180;
                SetParameter(ListDataParameter, dbCommand);

                DbExecute <T>(getResultList, transactionStateType, ref trans, ref iList, dbConnection, dbCommand);

                dbConnection.Close();
            }
            return(iList);
        }
예제 #2
0
        private static void DbExecute <T>(GetResultList <T> getResultList, TransactionStateType transactionStateType, ref DbTransaction trans, ref IList <T> iList, DbConnection dbConnection, DbCommand dbCommand)
        {
            bool tranBoolValue = false;

            try
            {
                if (transactionStateType == TransactionStateType.Open)
                {
                    tranBoolValue = true;
                }
                if (tranBoolValue)
                {
                    trans = dbConnection.BeginTransaction();
                }
                if (tranBoolValue)
                {
                    dbCommand.Transaction = trans;
                }

                if (getResultList != null)
                {
                    iList = getResultList(dbCommand);
                }
                if (tranBoolValue)
                {
                    trans.Commit();
                }
            }
            catch (Exception ex)
            {
                if (tranBoolValue)
                {
                    trans.Rollback();
                }
                throw new Exception(GetCommandString(dbCommand), ex);
            }
        }
예제 #3
0
 public IList <T> GetDataList <T>(string SqlStr, CommandType commandType, GetResultList <T> getResultList, TransactionStateType transactionStateType)
 {
     return(GetDataList <T>(SqlStr, commandType, getResultList, null, transactionStateType));
 }
예제 #4
0
 public IList <T> GetDataList <T>(string SqlStr, CommandType commandType, GetResultList <T> getResultList, IList <DbParameter> ListDataParameter)
 {
     return(GetDataList <T>(SqlStr, commandType, getResultList, ListDataParameter, TransactionStateType.Close));
 }
예제 #5
0
 public IList <T> GetDataList <T>(string SqlStr, CommandType commandType, GetResultList <T> getResultList)
 {
     return(GetDataList <T>(SqlStr, commandType, getResultList, null));
 }