有可能是你的测试数据的问题啊。看看测试数据吧。是不是结果集正好和##TABLE的行数相等。

解决方案 »

  1.   

    CREATE             PROCEDURE ud_SplitUserFromSearch
    (@nStartRow int,
    @nEndRow int,
    @strSql varchar(300),
    @nCount int output
    )
     AS
    set nocount on
    create table #t_table
    (
    [rownum][int] IDENTITY(1,1) Primary Key NOT NULL,
    [UserID] [int] NOT NULL ,
    [UserType] [int] NOT NULL ,
    [Nickname] [varchar] (50) NOT NULL ,
    [Sex] [int] NOT NULL ,
    [Province] [varchar] (20) NOT NULL ,
    [Addr] [varchar] (100) NOT NULL ,
    [Postalcode] [varchar] (10) NOT NULL ,
    [Birthday] [datetime] NOT NULL ,
    [certificateType] [varchar] (50) NOT NULL ,
    [CertificateCode] [varchar] (60) NOT NULL ,
    [Mail] [varchar] (50) NOT NULL ,
    [UserWork] [varchar] (100) NOT NULL ,
    [Income] [varchar] (50) NOT NULL ,
    [Name] [varchar] (50) NOT NULL ,
    [Description] [varchar] (300) NULL ,
    [Tele] [varchar] (100) NOT NULL ,
    [Password] [varchar] (50) NOT NULL ,
    [Portrait] [varchar] (300) NULL ,
    [Body] [varchar] (100) NULL ,
    [Height] [int] NULL ,
    [MarryState] [varchar] (100) NOT NULL ,
    [Education] [varchar] (100) NOT NULL ,
    [Rate] [varchar] (100) NOT NULL ,
    [Purpose] [varchar] (100) NOT NULL ,
    [Interesting] [varchar] (300) NULL ,
    [Character] [varchar] (300) NULL ,
    [Fashion] [varchar] (300) NULL ,
    [MobileCode] [varchar] (50) NOT NULL ,
    [InputTime] [datetime] NULL ,
    [HeadImage] [varchar] (100) NULL ,
    [Hot] [int] NULL 
    )set RowCount @nEndRowexec ('insert #t_table
    (
    [UserID],
    [UserType],
    [Nickname],
    [Sex],
    [Province],
    [Addr],
    [Postalcode],
    [Birthday],
    [certificateType],
    [CertificateCode],
    [Mail] ,
    [UserWork],
    [Income] ,
    [Name] ,
    [Description],
    [Tele] ,
    [Password] ,
    [Portrait] ,
    [Body] ,
    [Height] ,
    [MarryState],
    [Education],
    [Rate],
    [Purpose],
    [Interesting],
    [Character],
    [Fashion],
    [MobileCode],
    [InputTime],
    [HeadImage],
    [Hot]
    )' +@strSql )select @nCount=count(*) from #t_table
    set nocount off
    SELECT * FROM #t_table WHERE rownum >= @nStartRow and rownum<=@nEndRow ORDER BY rownumGO
      

  2.   

    WHERE rownum >= @nStartRow and rownum<=@nEndRowwhere rownum>=1 and rownum<=1 最多一条记录满足条件,没有重复的情况下.
    你返回的是多少?