示例#1
0
        public static string GetInSqlServerPageListSelectSql(this ISelectProperties selectProperties, int id = 0, string tableIndex = null, List <List <object> > listsIn = null, string sqlAppend = "", params string[] properties)
        {
            string        result = string.Empty;
            StringBuilder builder = new StringBuilder();
            var           selectColumnNames = GetSelectColumnSql(selectProperties, id, properties);
            var           headersAndFooters = selectProperties.GetStatisticHeaderAndFooterSql(id);
            string        header = string.Empty; string footer = string.Empty;

            if (headersAndFooters.ContainsKey(StatisticsType.Header))
            {
                header = headersAndFooters[StatisticsType.Header];
            }
            if (headersAndFooters.ContainsKey(StatisticsType.Footer))
            {
                footer = headersAndFooters[StatisticsType.Footer];
            }
            var tableName        = selectProperties.GetTableName(tableIndex);
            var collectionLimit = selectProperties.GetSelectCollectionLimit(id);
            var row_number       = string.Format(PageListSql.PageListSqlServer1_0, string.IsNullOrEmpty(footer) ? " order by getdate() " : footer);
            var row_numberColumn = string.Format(PageListSql.PageListSqlServer1, row_number);

            builder.AppendLine(string.Format("Select {3} {0} {1} From {2} ", collectionLimit, selectColumnNames.ToString(), tableName, row_numberColumn));
            var matchedKeys = selectProperties.GetInMatchedKeyNameAndValues(id, true, listsIn?.ToArray());

            builder.AppendJoin(" ", matchedKeys);
            builder.AppendLine(sqlAppend);
            builder.Append(footer);
            result = builder.ToString();
            //result = string.Format(PageListSql.PageListSqlServer, PageListSql.PageListSqlServerTopSize0, innerSql);
            return(result);
        }
示例#2
0
        public static string GetCountSql(this ISelectProperties selectProperties, int id = 0, string tableIndex = null, List <List <object> > listsIn = null, string sqlAppend = "", params string[] properties)
        {
            string        result            = string.Empty;
            StringBuilder builder           = new StringBuilder();
            var           selectColumnNames = "count(1)";
            var           tableName         = selectProperties.GetTableName(tableIndex);

            builder.AppendLine(string.Format("Select {0} From {1} ", selectColumnNames.ToString(), tableName));
            var matchedKeys = selectProperties.GetInMatchedKeyNameAndValues(id, true, listsIn?.ToArray());

            builder.AppendJoin(" ", matchedKeys);
            builder.AppendLine(sqlAppend);
            result = builder.ToString();
            return(result);
        }