"Man-wai Chang" <info@softmedia.hk> wrote in message
news:uBDwLnItGHA.1304@TK2MSFTNGP06.phx.gbl...
> ALTER procedure [dbo].[fetch_customer]
> @pageno integer,
> @pagelength integer,
> @sorting varchar(32),
> @keyword varchar(100)
> as
> set nocount on
>
> declare @startrow integer
>
> if @pageno<0 begin
> declare @ttl integer
> select @ttl=count(*) from customer
> set @startrow=@ttl/@pagelength*@pagelength+1
> end
> else begin
> set @startrow=(@pageno-1)*10+1
> end
>
> create table #result (
> unicode char(20),
> code char(20),
> name char(60),
> rcnb integer
> )
>
> if @sorting=' ' begin
> if @keyword=' ' begin
> declare mycust scroll cursor
> for select unicode, code, name from customer
> order by unicode
> end else begin
> declare mycust scroll cursor
> for select unicode, code, name from customer
> where unicode like '%'+@keyword+'%'
> order by unicode
> end
> end else if @sorting='name' begin
> if @keyword=' ' begin
> declare mycust scroll cursor
> for select unicode, code, name from customer
> order by name
> end else begin
> declare mycust scroll cursor
> for select unicode, code, name from customer
> where unicode like '%'+@keyword+'%'
> order by name
> end
> end else if @sorting='code' begin
> if @keyword=' ' begin
> declare mycust scroll cursor
> for select unicode, code, name from customer
> order by code
> end else begin
> declare mycust scroll cursor
> for select unicode, code, name from customer
> where unicode like '%'+@keyword+'%'
> order by code
> end
> end
>
> declare @unicode char(20), @code char(20), @name char(60)
> declare @ii integer
>
> set @ii=0
> open mycust
> fetch absolute @startrow from mycust into @unicode, @code, @name
> while ((@@fetch_status=0) and (@ii < @pagelength)) begin
> insert into #result values ( @unicode, @code, @name, @startrow+@ii )
> set @ii = @ii+1
> fetch next from mycust into @unicode, @code, @name
> end
>
> close mycust
> deallocate mycust
> set nocount off
> select * from #result
> drop table #result
>
>
> --
> SoftMedia Technology Co., Ltd.
> Website:
http://www.softmedia.hk Tel: (852)2743 4228
> * TryEasy Accounting/POS/Trading/ERP solutions