--2--
set @sql = 'SELECT @StartID = '+@IDName+' FROM '+@TableName+' ORDER BY '+@IDName
print @sql
sp_executesql @sql,'@StartID int out',@StartID out
select @StartID
set @sql = 'SELECT @StartID = '+@IDName+' FROM '+@TableName+' ORDER BY '+@IDName
print @sql
sp_executesql @sql,'@StartID int out',@StartID out
select @StartID
解决方案 »
- ★★★请教高手,我要在我们项目的数据库上做搜索,应该用什么技术?★★★
- sql server 中如何查询出所有库中的所有对象
- 怎么设置OLE DB 中 ITableDefinition::DropTable 的参数
- 新鲜面试题:一个都是数字的表,如何写SQL query求某一行的数据和
- 关于数据库设计中视图使用的一些简单问题
- winform界面恢复数据库提示正在使用
- 我有这样一张表 表名为user_inf
- 请教sqlserver数据库管理员一个问题
- 100分求解,大家帮帮忙啊(2)!!!!!!!!!!!!!
- sqlserver+asp如何实现图像的存储和显示?
- 统计效率问题
- 在SQL中怎么截取字符
set @sql = 'SELECT @StartID = '+@IDName+' FROM '+@TableName+' ORDER BY '+@IDName
print @sql
sp_executesql @sql,'@StartID int out',@StartID out
select @StartID
----
DECLARE @PageLowerBound int,@StartID int,@sql nvarchar(225)
alter PROCEDURE GetPageData
(
@TableName varchar(30),--表名称
@IDName varchar(20),--表主键名称
@PageIndex int,--当前页数
@PageSize int--每页大小
)
AS
IF @PageIndex > 0
BEGIN
set nocount on
DECLARE @PageLowerBound int,@StartID int,@sql nvarchar(225)
SET @PageLowerBound = @PageSize * (@PageIndex-1)
SET ROWCOUNT @PageLowerBound
set @StartID =123
SET @sql=N'SELECT @StartID = ['+@IDName+'] FROM '+@TableName+' ORDER BY '+@IDName
exec sp_executesql @sql,N'@StartID int output',@StartID output
SET ROWCOUNT 0
SET @sql='select top '+str(@PageSize) +' * from '+@TableName+' where ['+@IDName+']>'+ str(@StartID) +' ORDER BY ['+@IDName+'] '
EXEC(@sql)
set nocount off
END
alter PROCEDURE GetPageData
(
@TableName varchar(30),--表名称
@IDName varchar(20),--表主键名称
@PageIndex int,--当前页数
@PageSize int--每页大小
)
AS
IF @PageIndex > 0
BEGIN
set nocount on
DECLARE @PageLowerBound int,@StartID int,@sql nvarchar(225)
SET @PageLowerBound = @PageSize * (@PageIndex-1)
SET ROWCOUNT @PageLowerBound
--set @StartID =123
SET @sql=N'SELECT @StartID = ['+@IDName+'] FROM '+@TableName+' ORDER BY '+@IDName
exec sp_executesql @sql,N'@StartID int output',@StartID output
SET ROWCOUNT 0
SET @sql='select top '+str(@PageSize) +' * from '+@TableName+' where ['+@IDName+']>'+ str(@StartID) +' ORDER BY ['+@IDName+'] '
EXEC(@sql)
set nocount off
END