Example #1
0
        /// <summary>
        /// 执行SQL获取数据
        /// </summary>
        /// <param name="sql">SQL语句</param>
        /// <returns>数据</returns>
        public DataSet GetData(SqlStatement sql)
        {
            if (sql == null)
            {
                throw new ArgumentNullException("DatabaseImpl.GetData.sql");
            }

            using (var db = GetDatabase(sql.SqlBuildingInfo.DataSource))
            {
                try
                {
                    DataSet dataset = db.ExecuteDataSet(sql.ToSQL());
                    if (dataset != null && dataset.Tables.Count > 0)
                    {
                        dataset.Tables[0].TableName = sql.SqlBuildingInfo.CurrentNode.ID;
                    }

                    return(dataset);
                }
                catch (Exception e)
                {
                    MonitorError(e, sql.ToSQL());
                    throw;
                }
            }
        }
Example #2
0
        /// <summary>
        /// 执行SQL获取数据
        /// </summary>
        /// <param name="sql">SQL语句</param>
        /// <returns>数据</returns>
        public DataSet GetData(SqlStatement sql)
        {
            if (sql == null)
            {
                throw new ArgumentNullException("DatabaseImpl.GetData.sql");
            }

            var sqlStrings = new string[1] {
                sql.ToSQL()
            };
            var tableNames = new string[1] {
                sql.SqlBuildingInfo.CurrentNode.ID
            };

            return(GetData(sql.SqlBuildingInfo.DataSource, sqlStrings, tableNames));
        }
Example #3
0
        /// <summary>
        /// 执行SQL返回IDataReader
        /// </summary>
        /// <param name="sql">SQL语句</param>
        /// <returns>IDataReader</returns>
        public IDataReader GetDataReader(SqlStatement sql)
        {
            var sqlStrings = sql.ToSQL();

            using (var db = GetDatabase(sql.SqlBuildingInfo.DataSource))
            {
                try
                {
                    return(db.ExecuteReader(sqlStrings));
                }
                catch (Exception e)
                {
                    MonitorError(e, sqlStrings);
                    throw;
                }
            }
        }