create PROCEDURE dbo.Pageation

    @PageSize int,                                     --每页记录 
    @PageIndex int,                                   --当前页数,1开始 
    @Condition varchar(8000),                   --查询条件,包括and,where,必须有一个条件如where 2>1 
    @TheTable varchar(8000),                    --表名 
    @SelectField varchar(8000),                --要选择的字段 
    @OrderBy varchar (8000),                    --OrderBy字句,包括order 
    @TableID varchar (8000)                     -- --table主键 
                    

AS 
begin 
declare @Sql varchar(8000) 
--返回记录 
set @Sql='select top ' + cast(@PageSize as varchar(10)) + ' ' + @SelectField + ' from ' + @TheTable + ' ' + @Condition + ' and ' 
    + @TableID +' not in (select top ' +CAST((@PageSize*(@PageIndex-1)) AS VARCHAR(20))+' ' +@TableID+'  from ' + @TheTable + ' ' + @Condition 
    + ' ' + @OrderBy +') ' + @OrderBy 
exec(@sql) 
end 
 
我的java代码是:
try {
PageationBean PB=null;
cs=condb.getCon().prepareCall("{call Pageation(?,?,?,?,?,?,?)}");
cs.setInt(1, 5);
cs.setInt(2, PageIndex);
cs.setString(3,Condition);
cs.setString(4,TheTable);
cs.setString(5,SelectField);
cs.setString(6,OrderBy);
cs.setString(7,TableID);
rs=cs.executeQuery();
if(rs.next())
PB.RS=rs;
return PB;
} catch (Exception e) {
e.printStackTrace();
return null;
} 真的不知道是什么地方错了,老是报 
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]必须指定要从中选择的表。 
这个错误,rs=cs.executeQuery();这个地方有问题吗