Для создания веб -приложения важна функция просмотра страниц. Эта проблема очень распространена в обработке базы данных. Фактически, этот метод странификации применим только к небольшому объему данных. Давайте следим за редактором неправильного нового технологического канала, чтобы узнать больше!
Источник идей:
Установите записи от NTH до MTH из таблицы публикации:
Выберите Top M-N+1 *
Из публикации
Где (ID не в
(Выберите Top N-1 ID
Из публикации))
Ниже приведена хранящаяся процедура:
Кода -копия выглядит следующим образом:Создать процедуру страниц3
@tblname varchar (255), - имя таблицы
@StrgetFields varchar (1000) = '*', - столбцы, которые будут возвращены
@fldname varchar (255) = '', - имя поля сортировки
@Pagesize int = 10, - размер страницы
@Pageindex int = 1, - номер страницы
@docount bit = 0, - возвращает общее количество записей, возвращает, если значение не 0
@Ordertype bit = 0, - установите тип сортировки, а если значение не 0, порядок спуска
@strwhere varchar (1500) = '' - Условия запроса (примечание: не добавляйте где)
КАК
Declare @Strsql varchar (5000) - оператор субъекта
Declare @Strtmp varchar (110) - временная переменная
Declare @Strorder varchar (400) - тип сортировки
Если @docount! = 0
Начинать
Если @Strwhere! = ''
SET @Strsql = 'SELECT COUNT (*) как общее из [' + @TBLNAME + '] Где' + @strha
еще
SET @Strsql = 'SELECT COUNT (*) как общее из [' + @TBLNAME + ']'
конец
-Приведенный выше код означает, что если @Docount проходит, не является 0, общий счет будет выполнен. Все следующие коды являются случаем, когда @Docount равен 0:
еще
Начинать
Если @ordertype! = 0
Начинать
set @strtmp = '<(выберите min'
SET @StrOder = 'Заказать от [' + @fldName + '] desc'
-Если @Ordertype не 0, затем выполните порядок убывания. Это предложение очень важно!
конец
еще
Начинать
SET @Strtmp = '> (выберите Max'
SET @StrOord = 'Заказать от [' + @FldName + '] ASC'
конец
Если @pageindex = 1
Начинать
Если @Strwhere! = ''
SET @Strsql = 'SELECT TOP' + str (@Pagesize) + '' + @strgetfields + 'from [' + @TBlName + '] где' + @Strhion + '' + @Strorder
еще
SET @Strsql = 'SELECT TOP'+ str (@Pagesize)+ ''+ @strgetFields+ 'from ['+ @TblName+ ']'+ @StrOder
-Если это первая страница, выполните приведенный выше код, который ускорит скорость выполнения
конец
еще
Начинать
SET @Strsql = 'SELECT TOP' + str (@Pagesize) + '' +@strgetfields + 'из [' '
+ @tblname + '] где [' + @fldname + ']' + @strtmp + '(['
+ @fldname + ']) из (выберите top' + str ((@pageindex-1)*@pageize) + '[' '
+ @fldname + '] от [' + @tblname + ']' + @strorder + ') как tbltmp)'
+ @Strorder
Если @Strwhere! = ''
SET @Strsql = 'SELECT TOP' + str (@Pagesize) + '' +@strgetfields + 'из [' '
+ @tblname + '] где [' + @fldname + ']' + @strtmp + '(['
+ @fldname + ']) из (выберите top' + str ((@pageindex-1)*@pageize) + '[' '
+ @fldname + '] от [' + @tblname + '], где' + @strwhere + ''
+ @Strorder + ') как tbltmp) и' + @Strwhere + '' + @Strorder
конец
конец
exec (@strsql)
-Парт @strsql
ИДТИ
Через контент, представленный редактором нового технологического канала, я считаю, что у каждого есть определенное понимание. Если вы хотите узнать больше технического контента, пожалуйста, продолжайте обращать внимание на 未分 New Technology Channel!