Пример #1
0
        protected override IListSqlContext GetListSql(string selectFields, string tableName,
                                                      IFieldInfo[] keyFields, string whereClause, string orderBy, int startNum, int endNum)
        {
            if (keyFields == null || keyFields.Length == 0)
            {
                IListSqlContext context = base.GetListSql(selectFields, tableName, keyFields,
                                                          whereClause, orderBy, startNum, endNum);
                return(new YukonListSqlContext(context));
            }

            string sql;

            if (endNum == 0)
            {
                sql = string.Format(ObjectUtil.SysCulture,
                                    "SELECT {0} FROM {1} {2} {3}", selectFields, tableName, whereClause, orderBy);
            }
            else
            {
                ProcessOrderBy(keyFields, ref orderBy);

                sql = string.Format(ObjectUtil.SysCulture,
                                    "SELECT * FROM (SELECT {0}, ROW_NUMBER() OVER ({3}) ROWNUMBER_ FROM {1} {2})"
                                    + " _TOOLKIT WHERE ROWNUMBER_ > {4} AND ROWNUMBER_ <= {5}", selectFields, tableName, whereClause,
                                    orderBy, startNum, endNum);
            }
            return(new YukonListSqlContext(sql));
        }
Пример #2
0
        void ISqlProvider.SetListData(IListSqlContext context, ISimpleAdapter adapter, DataSet dataSet,
                                      int startRecord, int maxRecords, string srcTable)
        {
            TkDebug.AssertArgumentNull(adapter, "adapter", this);
            TkDebug.AssertArgumentNull(dataSet, "dataSet", this);
            TkDebug.AssertArgumentNullOrEmpty(srcTable, "srcTable", this);

            SetListData(context, adapter, dataSet, startRecord, maxRecords, srcTable);
        }
Пример #3
0
        public void SetListData(IListSqlContext context, ISimpleAdapter adapter, DataSet dataSet,
                                int startRecord, int maxRecords, string srcTable)
        {
            TkDebug.AssertArgumentNull(adapter, "adapter", this);
            TkDebug.AssertArgumentNull(dataSet, "dataSet", this);
            TkDebug.AssertArgumentNullOrEmpty(srcTable, "srcTable", this);

            DbUtil.FillDataSet(adapter, dataSet, srcTable);
        }
Пример #4
0
        protected virtual void SetListData(IListSqlContext context, ISimpleAdapter adapter,
                                           DataSet dataSet, int startRecord, int maxRecords, string srcTable)
        {
            TkDebug.AssertArgument(startRecord >= 0, "startRecord", string.Format(
                                       ObjectUtil.SysCulture, "参数startRecord不能为负数,现在的值为{0}", startRecord), this);
            TkDebug.AssertArgument(maxRecords >= 0, "number", string.Format(ObjectUtil.SysCulture,
                                                                            "参数maxRecords不能为负数,现在的值为{0}", maxRecords), this);

            DbUtil.FillDataSet(adapter, dataSet, srcTable, startRecord, maxRecords);
        }
Пример #5
0
        void ISqlProvider.SetListData(IListSqlContext context, ISimpleAdapter adapter, DataSet dataSet,
                                      int startRecord, int maxRecords, string srcTable)
        {
            TkDebug.AssertArgumentNull(adapter, "adapter", this);
            TkDebug.AssertArgumentNull(dataSet, "dataSet", this);
            TkDebug.AssertArgumentNullOrEmpty(srcTable, "srcTable", this);
            TkDebug.AssertArgument(startRecord >= 0, "startRecord", string.Format(ObjectUtil.SysCulture,
                                                                                  "参数startRecord不能为负数,现在的值为{0}", startRecord), this);
            TkDebug.AssertArgument(maxRecords >= 0, "number", string.Format(ObjectUtil.SysCulture,
                                                                            "参数maxRecords不能为负数,现在的值为{0}", maxRecords), this);

            DbUtil.FillDataSet(adapter, dataSet, srcTable, startRecord, maxRecords);
        }
Пример #6
0
        protected override void SetListData(IListSqlContext context, ISimpleAdapter adapter, DataSet dataSet,
                                            int startRecord, int maxRecords, string srcTable)
        {
            TkDebug.AssertArgumentNull(context, "context", this);

            YukonListSqlContext sqlContext = context.Convert <YukonListSqlContext>();

            if (sqlContext.UseTopSql)
            {
                base.SetListData(context, adapter, dataSet, startRecord, maxRecords, srcTable);
            }
            else
            {
                DbUtil.FillDataSet(adapter, dataSet, srcTable);
            }
        }
Пример #7
0
 public void SetListData(IListSqlContext context, ISimpleAdapter adapter, DataSet dataSet,
                         int startRecord, int maxRecords, string srcTable)
 {
     InternalSqlProvider.SetListData(context, adapter, dataSet, startRecord, maxRecords, srcTable);
 }
Пример #8
0
 public YukonListSqlContext(IListSqlContext sqlContext)
 {
     fSqlContext = sqlContext;
     UseTopSql   = true;
 }