呼唤vivianfdlpw

tings 2005-10-31 07:17:39
见:http://community.csdn.net/Expert/topic/4359/4359826.xml?temp=.686352
CREATE PROCEDURE [GetCustomersDataPage]
@PageIndex INT, --以1开始
@PageSize INT,
@strUserName VARCHAR(30),
@RecordCount INT OUT,
@PageCount INT OUT

AS
SELECT @RecordCount=COUNT(*) FROM MoneyRecord WHERE UserName=@strUserName
SET @PageCount = CEILING(@RecordCount * 1.0 / @PageSize)

DECLARE @SQLSTR VARCHAR(500)

if @PageIndex<=0
set @PageIndex=1

SET @SQLSTR='select top '+convert(varchar,@PageSize)
+' RecordID,myDateTime,MoneyType,MoneyNum,myKeyWords,Others FROM [MoneyRecord] t'
+' where (select count(1) from [MoneyRecord] where RecordID>t.RecordID and UserName=t.UserName)+1>'
+convert(varchar,@PageSize*(@PageIndex-1))
+' and UserName='''+convert(varchar,@strUserName)+''''
+' order by RecordID desc'

EXEC (@SQLSTR)

GO


使用中存在一个小问题
翻页的时候第一页和第二页是同样的内容,最后一页不见了
比如说:我有27条记录,每页显示5条。分了6页。
第一页显示的是前5条记录,第二页显示的还是同样的5条记录
第三页显示6-10
第四页显示11-15
第五页显示16-20
第六页显示21-25

26-27就看不到
另外,能不能把这个存储过程中的strUserName改为strWhere(搜索条件)
这样,我这个存储过程的扩展性就更强了

麻烦了 :)
...全文
143 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wgsasd311 2005-11-04
  • 打赏
  • 举报
回复
/*
to: wgsasd311(自强不息)
运行时提示错误:
无法使用 SELECT INTO 语句向表 '#' 中添加标识列,该表中已有继承了标识属性的列 'RecordID'。
*/
--另外,能不能把这个存储过程中的strUserName改为strWhere(搜索条件)
CREATE PROCEDURE [GetCustomersDataPage]
@PageIndex INT, --以1开始
@PageSize INT,
@strUserName VARCHAR(30),
@RecordCount INT OUT,
@PageCount INT OUT

AS
DECLARE @SQLSTR NVARCHAR(500)

set @sqlstr='SELECT @RecordCount=COUNT(*) FROM MoneyRecord '+@strUserName
exec sp_executesql @sqlstr,N'@recordcount int output',@recordcount output
SET @PageCount = CEILING(@RecordCount * 1.0 / @PageSize)



if @PageIndex<=0
set @PageIndex=1

select *,sid=(select count(1) from moneyrecord where username=@strusername and RecordID<=a.RecordID) into #
FROM MoneyRecord a WHERE UserName=@strUserName
SET rowcount @pagesize
SET @SQLSTR='select top '+convert(varchar,@PageSize)
+' RecordID,myDateTime,MoneyType,MoneyNum,myKeyWords,Others FROM # where sid>'
+convert(varchar,@PageSize*(@PageIndex-1))
+' order by RecordID desc'

EXEC (@SQLSTR)
set rowcount 0
drop table #

GO
tings 2005-11-04
  • 打赏
  • 举报
回复
to: wgsasd311(自强不息)
运行时提示错误:
无法使用 SELECT INTO 语句向表 '#' 中添加标识列,该表中已有继承了标识属性的列 'RecordID'。
wgsasd311 2005-11-04
  • 打赏
  • 举报
回复
--另外,能不能把这个存储过程中的strUserName改为strWhere(搜索条件)
CREATE PROCEDURE [GetCustomersDataPage]
@PageIndex INT, --以1开始
@PageSize INT,
@strUserName VARCHAR(30),
@RecordCount INT OUT,
@PageCount INT OUT

AS
DECLARE @SQLSTR NVARCHAR(500)

set @sqlstr='SELECT @RecordCount=COUNT(*) FROM MoneyRecord '+@strUserName
exec sp_executesql @sqlstr,N'@recordcount int output',@recordcount output
SET @PageCount = CEILING(@RecordCount * 1.0 / @PageSize)



if @PageIndex<=0
set @PageIndex=1

select * ,identity(int,1,1) AS SID INTO # FROM MoneyRecord WHERE UserName=@strUserName
SET rowcount @pagesize
SET @SQLSTR='select top '+convert(varchar,@PageSize)
+' RecordID,myDateTime,MoneyType,MoneyNum,myKeyWords,Others FROM # where sid>'
+convert(varchar,@PageSize*(@PageIndex-1))
+' order by RecordID desc'

EXEC (@SQLSTR)
set rowcount 0
drop table #

GO

wgsasd311 2005-11-04
  • 打赏
  • 举报
回复
CREATE PROCEDURE [GetCustomersDataPage]
@PageIndex INT, --以1开始
@PageSize INT,
@strUserName VARCHAR(30),
@RecordCount INT OUT,
@PageCount INT OUT

AS
SELECT @RecordCount=COUNT(*) FROM MoneyRecord WHERE UserName=@strUserName
SET @PageCount = CEILING(@RecordCount * 1.0 / @PageSize)

DECLARE @SQLSTR VARCHAR(500)

if @PageIndex<=0
set @PageIndex=1

select * ,identity(int,1,1) AS SID INTO # FROM MoneyRecord WHERE UserName=@strUserName
SET rowcount @pagesize
SET @SQLSTR='select top '+convert(varchar,@PageSize)
+' RecordID,myDateTime,MoneyType,MoneyNum,myKeyWords,Others FROM # where sid>'
+convert(varchar,@PageSize*(@PageIndex-1))
+' order by RecordID desc'

EXEC (@SQLSTR)
set rowcount 0
drop table #

GO

tings 2005-11-04
  • 打赏
  • 举报
回复
tings 2005-11-01
  • 打赏
  • 举报
回复
呼唤vivianfdlpw
tings 2005-10-31
  • 打赏
  • 举报
回复
顶一下
内容概要:本文系统阐述了基于多维核密度估计的源荷(光伏、负荷)场景生成方法,并配套提供完整的Matlab代码实现。该方法通过构建高维概率密度函数,精确捕捉光伏出力与电力负荷之间的复杂相关性与时序不确定性,生成具有高保真统计特性的多维随机场景,广泛应用于新型电力系统中的不确定性建模。所提出的技术可为微电网、综合能源系统、虚拟电厂等提供高质量的输入场景,支撑优化调度、风险评估、储能配置及承载力分析等关键研究任务。文中强调科研应兼具严谨逻辑与创新思维,倡导“借力”与系统性学习,同时提供了丰富的学习资源获取途径。; 适合人群:具备电力系统、可再生能源或数据统计分析等相关背景,熟悉Matlab编程语言,正在从事新能源建模、电力系统规划或不确定性分析等方向的科研人员与研究生。; 使用场景及目标:①实现光伏与负荷等多重不确定性源的联合概率建模与场景生成;②为含高比例新能源的电力系统优化运行与规划提供精细化输入;③支撑风险敏感决策、鲁棒优化及分布鲁棒优化等高级分析场景的需求; 阅读建议:建议读者结合提供的网盘资源与公众号内容,按照知识体系循序渐进地学习,重点掌握多维核密度估计的核心算法流程与代码实现细节,并使用实际历史数据进行调试与验证,以深入理解其在复杂能源系统建模中的应用价值与优势。

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧