public static DataTable ExecuteSQLQuery(string strSQL, string dbName, int timeout, Transaction transaction)
        {
            IPersistenceProvider rdb = transaction.GetPersistenceProvider(dbName);
            IDbCommand           cmd = rdb.GetCommand();

            cmd.CommandText = strSQL;
            if (timeout >= 0)
            {
                cmd.CommandTimeout = timeout;
            }

            return(rdb.AsDataTable(cmd));
        }
        public DataTable Execute(Transaction transaction)
        {
            StringWriter sql = new StringWriter();

            RenderSelect(sql);
            Assert.VerifyNotNull(sql, Error.NotNull);

            IPersistenceProvider rdb = transaction.GetPersistenceProvider(m_ClassMap.Database.Name);
            IDbCommand           cmd = rdb.GetCommand();

            cmd.CommandText = sql.ToString();
            DataTable dt = rdb.AsDataTable(cmd);

            return(dt);
        }
        private static IDbCommand StoredProcCommand(string storedProcName, IDataParameter[] param, string dbName, Transaction transaction)
        {
            IPersistenceProvider rdb = transaction.GetPersistenceProvider(dbName);
            IDbCommand           cmd = rdb.GetCommand();

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = storedProcName;
            if (param != null)
            {
                for (int intlop = 0; intlop < param.Length; intlop++)
                {
                    IDataParameter parameter = param[intlop];
                    cmd.Parameters.Add(parameter);
                }
            }
            return(cmd);
        }
        public static IDataParameter GetParameter(string dbName, Transaction transaction)
        {
            IPersistenceProvider rdb = transaction.GetPersistenceProvider(dbName);

            return(rdb.GetCommand().CreateParameter());
        }