Para criar um aplicativo da Web, a função de navegação de paginação é essencial. Esse problema é muito comum no processamento do banco de dados. De fato, esse método de paginação é aplicável apenas a uma pequena quantidade de dados. Vamos seguir o editor do New Technology Channel errado para saber mais!
Fonte de idéias:
Retire os registros de NTH para MTH da Tabela de Publish:
Selecione M-N+1 *
Da publicação
Onde (não sou em
(Selecione Top N-1 ID
De publicar))
A seguir, o procedimento armazenado:
A cópia do código é a seguinte:Crie a paginação do procedimento3
@tblname varchar (255), - nome da tabela
@strgetfields varchar (1000) = '*', - colunas a serem retornadas
@fldname varchar (255) = '', - classificar o nome do campo
@Pagesize int = 10, - tamanho da página
@PageIndex int = 1, - Número da página
@docount bit = 0, - retorna o número total de registros, retorna se um valor não for 0
@OrderType Bit = 0, - Defina o tipo de classificação, e se o valor não for 0, ordem descendente
@Strwhere Varchar (1500) = '' - Condições de consulta (Nota: Não adicione onde)
COMO
declarar @strsql varchar (5000) - declaração de assunto
Declare @Strtmp Varchar (110) - Variável temporária
Declare @Strorder Varchar (400) - Tipo de classificação
se @docount! = 0
Começar
Se @Strwhere! = ''
Definir @strsql = 'Selecionar contagem (*) como total de [' + @tblname + '] onde' + @strwhere
outro
Definir @strsql = 'Selecione contagem (*) como total de [' + @tblname + ']'
fim
-O código acima significa que, se o @Docount Pass Over não for 0, a contagem total será executada. Todos os códigos a seguir são casos em que @docount é 0:
outro
Começar
Se @OrderType! = 0
Começar
Definir @strtmp = '<(selecione min'
Definir @Strorder = 'Ordem por [' + @fldname + '] desc'
-Se @OrderType não for 0 e execute a ordem decrescente. Esta frase é muito importante!
fim
outro
Começar
Definir @strtmp = '> (selecione max'
Definir @Strorder = 'Ordem por [' + @fldname + '] ASC'
fim
Se @PageIndex = 1
Começar
Se @Strwhere! = ''
Definir @strsql = 'selecione top' + str (@pagesize) + '' + @strgetfields + 'de [' + @tblname + '] where' + @strwhere + '' + @strorder
outro
Definir @strsql = 'Selecionar top'+ str (@pagesize)+ ''+ @strgetfields+ 'de ['+ @tblname+ ']'+ @strorder
-Se for a primeira página, execute o código acima, que acelerará a velocidade de execução
fim
outro
Começar
Definir @strsql = 'selecione top' + str (@pagesize) + '' +@strgetfields + 'de ['
+ @tblname + '] onde [' + @fldname + ']' ' + @strtmp +' (['
+ @fldname + ']) de (selecione top' + str ((@pageIndex-1)*@paagasize) + '['
+ @fldname + '] de [' + @tblname + ']' ' + @storter +') como tbltmp) '
+ @Strorder
Se @Strwhere! = ''
Definir @strsql = 'selecione top' + str (@pagesize) + '' +@strgetfields + 'de ['
+ @tblname + '] onde [' + @fldname + ']' ' + @strtmp +' (['
+ @fldname + ']) de (selecione top' + str ((@pageIndex-1)*@paagasize) + '['
+ @fldname + '] de [' + @tblname + '] where' + @strwhere + ''
+ @Strorder + ') como tbltmp) e' + @Strwhere + '' + @Strorder
fim
fim
EXEC (@STRSQL)
--print @strsql
IR
Através do conteúdo introduzido pelo editor do 未分 未分 NOVO CANAL DE TECNOLOGIA, acredito que todos têm um certo entendimento. Se você quiser saber mais conteúdo técnico, continue prestando atenção ao 未分 NOVO CANAL DE TECNOLOGIA!