MySQL存储过程分页如何返回记录总数 [问题点数:20分,结帖人M1234]

Bbs2
本版专家分:132
结帖率 100%
Bbs1
本版专家分:24
Bbs2
本版专家分:132
Bbs12
本版专家分:471946
版主
Blank
名人 2012年 荣获名人称号
Blank
榜眼 2010年 总版技术专家分年内排行榜第二
Blank
探花 2009年 总版技术专家分年内排行榜第三
Blank
进士 2013年 总版技术专家分年内排行榜第十
2011年 总版技术专家分年内排行榜第七
Bbs12
本版专家分:471946
版主
Blank
名人 2012年 荣获名人称号
Blank
榜眼 2010年 总版技术专家分年内排行榜第二
Blank
探花 2009年 总版技术专家分年内排行榜第三
Blank
进士 2013年 总版技术专家分年内排行榜第十
2011年 总版技术专家分年内排行榜第七
Bbs2
本版专家分:132
Bbs2
本版专家分:132
Bbs12
本版专家分:471946
版主
Blank
名人 2012年 荣获名人称号
Blank
榜眼 2010年 总版技术专家分年内排行榜第二
Blank
探花 2009年 总版技术专家分年内排行榜第三
Blank
进士 2013年 总版技术专家分年内排行榜第十
2011年 总版技术专家分年内排行榜第七
Bbs12
本版专家分:471946
版主
Blank
名人 2012年 荣获名人称号
Blank
榜眼 2010年 总版技术专家分年内排行榜第二
Blank
探花 2009年 总版技术专家分年内排行榜第三
Blank
进士 2013年 总版技术专家分年内排行榜第十
2011年 总版技术专家分年内排行榜第七
存储过程 翻页返回记录总数
下面是存储过程翻页,我想再得到一个<em>记录</em><em>总数</em>,该怎么改,谢谢rn[code=SQL]CREATE PROC sp_PageViewrn@tbname sysname, --要<em>分页</em>显示的表名rn@FieldKey nvarchar(1000), --用于定位<em>记录</em>的主键(惟一键)字段,可以是逗号分隔的多个字段rn@PageCurrent int=1, --要显示的页码rn@PageSize int=10, --每页的大小(<em>记录</em>数)rn@FieldShow nvarchar(1000)='', --以逗号分隔的要显示的字段列表,如果不指定,则显示所有字段rn@FieldOrder nvarchar(1000)='', --以逗号分隔的排序字段列表,可以指定在字段后面指定DESC/ASC用于指定排序顺序rn@Where nvarchar(1000)='', --查询条件rn@PageCount int OUTPUT --总页数rnASrnSET NOCOUNT ONrn--检查对象是否有效rnIF OBJECT_ID(@tbname) IS NULLrnBEGINrn RAISERROR(N'对象"%s"不存在',1,16,@tbname)rn RETURNrnENDrnIF OBJECTPROPERTY(OBJECT_ID(@tbname),N'IsTable')=0rn AND OBJECTPROPERTY(OBJECT_ID(@tbname),N'IsView')=0rn AND OBJECTPROPERTY(OBJECT_ID(@tbname),N'IsTableFunction')=0rnBEGINrn RAISERROR(N'"%s"不是表、视图或者表值函数',1,16,@tbname)rn RETURNrnENDrnrn--<em>分页</em>字段检查rnIF ISNULL(@FieldKey,N'')=''rnBEGINrn RAISERROR(N'<em>分页</em>处理需要主键(或者惟一键)',1,16)rn RETURNrnENDrnrn--其他参数检查及规范rnIF ISNULL(@PageCurrent,0)0rn SELECT @s=STUFF(@s,1,CHARINDEX(N',',@s),N''),rn @Where1=@Where1rn +N' AND a.'+LEFT(@s,CHARINDEX(N',',@s)-1)rn +N'='+LEFT(@s,CHARINDEX(N',',@s)-1)rn SELECT @Where1=STUFF(@Where1+N' AND a.'+@s+N'='+@s,1,5,N''),rn @TopN=@TopN1-@PageSizernrn --执行查询rn EXEC(N'SET ROWCOUNT '+@TopN1rn +N' SELECT '+@FieldKeyrn +N' INTO # FROM '+@tbnamern +N' '+@Wherern +N' '+@FieldOrderrn +N' SET ROWCOUNT '+@TopNrn +N' DELETE FROM #'rn +N' SELECT '+@FieldShowrn +N' FROM '+@tbnamern +N' a WHERE EXISTS(SELECT * FROM # WHERE '+@Where1rn +N') '+@FieldOrder) rnENDrnrnrnGO[/code]
怎样得到返回记录总数
已有一下操作,怎样得到<em>返回</em><em>记录</em>的<em>总数</em>?rnAdodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb;Persist Security Info=False"rnrnAdodc1.RecordSource = "select * from 表1"rnrnSet DataGrid1.DataSource = Adodc1rn
记录总数返回-1
'<em>记录</em><em>总数</em>总<em>返回</em>-1rndim strDBPath as stringrndim strSql as stringrndim mCn as new ADODB.Connection'用的是ado2.0 不是dao 3.51rnDim rsTitles As new ADODB.Recordsetrn rn prgLoad.Max=100rnrn strDBPath="e:\db1.mdb" 'access 97数据库rn rn mCN.Open "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & _rn strDBPath & ";Persist Security Info=false"rnrn'我的目的是做一个进度条.rn for i=0 to 10000rn strSql = "Select * from titles where id=" & irn Set rstitles = New ADODB.Recordsetrn rsTitles.Open strSql, mCN, adOpenDynamic, adLockOptimisticrn if rstitles.eof=false thenrn lng2=0rn Lng1=rsTitles.RecordCount '这里总<em>返回</em> -1 请问各位大侠,<em>如何</em>才能获得<em>记录</em><em>总数</em>rn end ifrn do while not rsTitles.eofrn lng2=lng2+1rn prgLoad.value=lng2/lng1*100 '这里是进度条的值rn looprn nextrn谢谢.
邹建的分页存储过和能不能返回记录总数啊?
如题!rnrn/*--实现<em>分页</em>的通用存储过程rnrn显示指定表、视图、查询结果的第X页rn对于表中主键或标识列的情况,直接从原表取数查询,其它情况使用临时表的方法rn如果视图或查询结果中有主键,不推荐此方法rn如果使用查询语句,而且查询语句使用了order by,则查询语句必须包含top 语句rnrn--邹建 2003.09(引用请保留此信息)--*/rnrn/*--调用示例rnexec p_show 'select * from jobs',5,3rnrnexec p_show 'select top 100 percent * from 地区资料 order by 地区名称',5,3,'地区编号,地区名称,助记码'rn--*/rnCREATE Proc p_showrn@QueryStr nvarchar(4000),--表名、视图名、查询语句rn@PageSize int=10,--每页的大小(行数)rn@PageCurrent int=1,--要显示的页rn@FdShow nvarchar (4000)='',--要显示的字段列表,如果查询结果不需要标识字段,需要指定此值,且不包含标识字段rn@FdOrder nvarchar (1000)=''--排序字段列表rnasrnset nocount onrndeclare @FdName nvarchar(250)--表中的主键或表、临时表中的标识列名rn,@Id1 varchar(20),@Id2 varchar(20)--开始和结束的<em>记录</em>号rn,@Obj_ID int--对象IDrn--表中有复合主键的处理rndeclare @strfd nvarchar(2000)--复合主键列表rn,@strjoin nvarchar(4000)--连接字段rn,@strwhere nvarchar(2000)--查询条件rnrnrnselect @Obj_ID=object_id(@QueryStr)rn,@FdShow=case isnull(@FdShow,'') when '' then ' *' else ' '+@FdShow endrn,@FdOrder=case isnull(@FdOrder,'') when '' then '' else ' order by '+@FdOrder endrn,@QueryStr=case when @Obj_ID is not null then ' '+@QueryStr else ' ('+@QueryStr+') a' endrnrn--如果显示第一页,可以直接用top来完成rnif @PageCurrent=1rnbeginrnselect @Id1=cast(@PageSize as varchar(20))rnexec('select top '+@Id1+@FdShow+' from '+@QueryStr+@FdOrder)rnreturnrnendrnrn--如果是表,则检查表中是否有标识更或主键rnif @Obj_ID is not null and objectproperty(@Obj_ID,'IsTable')=1rnbeginrnselect @Id1=cast(@PageSize as varchar(20))rn,@Id2=cast((@PageCurrent-1)*@PageSize as varchar(20))rnrnselect @FdName=name from syscolumns where id=@Obj_ID and status=0x80rnif @@rowcount=0--如果表中无标识列,则检查表中是否有主键rnbeginrnif not exists(select 1 from sysobjects where parent_obj=@Obj_ID and xtype='PK')rngoto lbusetemp--如果表中无主键,则用临时表处理rnrnselect @FdName=name from syscolumns where id=@Obj_ID and colid in(rnselect colid from sysindexkeys where @Obj_ID=id and indid in(rnselect indid from sysindexes where @Obj_ID=id and name in(rnselect name from sysobjects where xtype='PK' and parent_obj=@Obj_IDrn)))rnif @@rowcount>1--检查表中的主键是否为复合主键rnbeginrnselect @strfd='',@strjoin='',@strwhere=''rnselect @strfd=@strfd+',['+name+']'rn,@strjoin=@strjoin+' and a.['+name+']=b.['+name+']'rn,@strwhere=@strwhere+' and b.['+name+'] is null'rnfrom syscolumns where id=@Obj_ID and colid in(rnselect colid from sysindexkeys where @Obj_ID=id and indid in(rnselect indid from sysindexes where @Obj_ID=id and name in(rnselect name from sysobjects where xtype='PK' and parent_obj=@Obj_IDrn)))rnselect @strfd=substring(@strfd,2,2000)rn,@strjoin=substring(@strjoin,5,4000)rn,@strwhere=substring(@strwhere,5,4000)rngoto lbusepkrnendrnendrnendrnelserngoto lbusetemprnrn/*--使用标识列或主键为单一字段的处理方法--*/rnlbuseidentity:rnexec('select top '+@Id1+@FdShow+' from '+@QueryStrrn+' where '+@FdName+' not in(select top 'rn+@Id2+' '+@FdName+' from '+@QueryStr+@FdOrderrn+')'+@FdOrderrn)rnreturnrnrn/*--表中有复合主键的处理方法--*/rnlbusepk:rnexec('select '+@FdShow+' from(select top '+@Id1+' a.* fromrn(select top 100 percent * from '+@QueryStr+@FdOrder+') arnleft join (select top '+@Id2+' '+@strfd+' rnfrom '+@QueryStr+@FdOrder+') b on '+@strjoin+'rnwhere '+@strwhere+') a'rn)rnreturnrnrn/*--用临时表处理的方法--*/rnlbusetemp:rnselect @FdName='[ID_'+cast(newid() as varchar(40))+']'rn,@Id1=cast(@PageSize*(@PageCurrent-1) as varchar(20))rn,@Id2=cast(@PageSize*@PageCurrent-1 as varchar(20))rnrnexec('select '+@FdName+'=identity(int,0,1),'+@FdShow+'rninto #tb from(select top 100 percent * from'+@QueryStr+@FdOrder+')arnselect '+@FdShow+' from #tb where '+@FdName+' between 'rn+@Id1+' and '+@Id2rn)rnGOrn
存储过程分页 返回查询记录总数 有什么好的写法
'select count(*) from (' + @where + ') mt'rn这样感觉速度挺慢的rn[code=SQL]ALTER procedure [dbo].[page_pages]rn(@pagesize int,rn@pageindex int,rn@sort nvarchar(200),rn@where nvarchar(max))rnasrnset nocount onrnbeginrndeclare @strSQL nvarchar(max)rndeclare @PageLowerBound intrndeclare @PageUpperBound intrnset @PageLowerBound=(@pageindex-1)*@pagesizernset @PageUpperBound=@PageLowerBound+@pagesizernset @strSQL = 'rnwith aa as(rnselect top ' + str(@PageUpperBound) + ' orderno = ROW_NUMBER() OVER (' + @sort + '), * fromrn(rn' + @where + 'rn)aaarn)rnselect * from aa where orderno between ' + str(@PageLowerBound + 1) + ' and ' + str(@PageUpperBound + 1)rnendrnexec(@strSQL)rnset @strSQL = 'select count(*) from (' + @where + ') mt'rnexec(@strSQL)rnset nocount off[/code]
MYSQL存储过程的分页
效果如下写法如下DELIMITER $$ USE `t204`$$ DROP PROCEDURE IF EXISTS `myc`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `myc`(IN myr INT,IN myk INT) # myr 开始长度 myk 结束长度 BEGIN SET @myc=CONCAT('SELECT * FROM ...
如何统计记录总数
set x=conn.execute("select count(*) from u_info")rnresponse.Write(x)rn这样输出提示以下错误rnrnResponse 对象, ASP 0185 (0x8002000E)rn找不到对象的默认属性。
如何得到记录总数
如题
如何获得记录总数???
如果数据库中存储了多条<em>记录</em>,我怎样获得<em>记录</em>的数目???
如何获得记录总数
这个问题已经很久了,在ACCESS中选中所有<em>记录</em>时,最下边的状态栏会显示出这张表的<em>记录</em><em>总数</em>。而在SQL中<em>如何</em>用类似的方法查看到<em>记录</em><em>总数</em>呢?(不会代码!!!)
sqlserver搜索分页返回总数
1,很多时候我们需要对一些前端的UI通过json渲染数据,这样才还对接,那么通过sql可以很好的放回对应的数据,然后把数据转换成对应的类型就好了 先上代码 1,创建表 CREATE TABLE [dbo].[Wsyj_User]( [Uid] [int] IDENTITY(1,1) NOT NULL, [Account] [varchar](50) NULL, [AccountPwd...
php 分页总数如何获得
我写了一个php<em>分页</em>,我现在 select * from user limit ".($page-1)." , ".$rows 只能获得到每次多少条,我想获得总共多少条,怎么获得,现在获得是getRowNum();rnrnfunction getRowNum()rn rn return mysql_num_rows($this->res);rn rnrnrequire_once ('../db/db.php');rn $db=new DataAccess();rn $con=$db->connect();rn $rows = $_POST['rows'];rn $page = $_POST['page'];rn $sql="select * from user limit ".($page-1)." , ".$rows; //<em>分页</em>的sqlrn $result=$db->query($sql);rn $row_num =$db->getRowNum();//只能获得到当前多少条rnrn
怎样取得hibernate分页记录总数
query.setFirstResult(0);rnquery.setMaxResults(10);rnList list = query.list();rnint counts=list.size();rn这样取得的counts只是当前页数,我要取的所有<em>记录</em>数怎么取?
mysql存储过程记录
存储过程常用格式:      create procedure name()             begin                            .........             end       常用短句:       区块定义:            begin            ......            e
asp.net 存储过程,我要返回记录集,和记录总数
[code=SQL]rncreate proc okrn@pagesize int,rn@pageindex int,rn@pagetable nvarchar(50),rn@RecordTotal int output rnas rn declare @sql nvarchar(500)rn declare @StrTotalSQL nvarchar(500)rnrnset @StrTotalSQL='select @RecordTotal=count(*) from t1'rn-- '+@RecordTotal+'=rnrn beginrnset @sql='select top '+str(@pagesize)+' * from '+@pagetable+' where userid not in(select top '+str(@pagesize*(@pageindex-1))+' userid from '+@pagetable+')'rn endrnrnexecute(@sql)rnexecute(@StrTotalSQL)rn--我要<em>返回</em><em>记录</em>集,和<em>记录</em><em>总数</em>。我调用不了,这个<em>记录</em><em>总数</em>,是不是写错了什么,定还是,我调用有问题?希望有人指点。rnrn[/code]
通用存储过程怎样返回记录总数
存储过程代码: rnALTER PROCEDURE sp_Search rnrn@tblName varchar(255), -- 表名 rn@strGetFields varchar(1000) = '* ', -- 需要<em>返回</em>的列 rn@fldName varchar(255)= ' ', -- 排序的字段名 rn@PageSize int = 25, -- 页尺寸 rn@PageIndex int = 1, -- 页码 rn@doCount bit = 0, -- <em>返回</em><em>记录</em><em>总数</em>, 非 0 值则<em>返回</em> rn@OrderType bit = 1, -- 设置排序类型, 非 0 值则降序 rn@strWhere varchar(1500) = ' ' -- 查询条件 (注意: 不要加 where) rnrnAS rnrndeclare @strSQL varchar(5000) -- 主语句 rndeclare @strTmp varchar(110) -- 临时变量 rndeclare @strOrder varchar(400) -- 排序类型 rnrnif @doCount != 0 rn begin rn if @strWhere != ' ' rn set @strSQL = 'select count(*) as Total from [ ' + @tblName + '] where '+@strWhere rn else rn set @strSQL = 'select count(*) as Total from [ ' + @tblName + '] ' rnend rnrnelse rnbegin rnif @OrderType != 0 rnbegin rn set @strTmp = ' (select max ' rn set @strOrder = ' order by [ ' + @fldName + '] asc ' rnend rnrnif @PageIndex = 1 rnbegin rn if @strWhere != ' ' rn set @strSQL = 'select top ' + str(@PageSize) + ' '+@strGetFields+ ' from [ ' + @tblName + '] where ' + @strWhere + ' ' + @strOrder rn else rn set @strSQL = 'select top ' + str(@PageSize) + ' '+@strGetFields+ ' from [ '+ @tblName + '] '+ @strOrder rnend rnrnelse rnbegin rnset @strSQL = 'select top ' + str(@PageSize) + ' '+@strGetFields+ ' from [ ' rn + @tblName + '] where [ ' + @fldName + '] ' + @strTmp + '([ '+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' [ '+ @fldName + '] from [ ' + @tblName + '] ' + @strOrder + ') as tblTmp) '+ @strOrder rnrnif @strWhere != ' ' rn set @strSQL = 'select top ' + str(@PageSize) + ' '+@strGetFields+ ' from [ ' rn + @tblName + '] where [ ' + @fldName + '] ' + @strTmp + '([ ' rn + @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' [ ' rn + @fldName + '] from [ ' + @tblName + '] where ' + @strWhere + ' ' rn + @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder rnend rnrnend rnrnexec (@strSQL) rnrnasp文件调用代码: rn rnrnrn现在要获取rs的<em>记录</em><em>总数</em>进行<em>分页</em>,请教该怎样写呢。rn
rs 记录集无法返回 rs.recordcount 记录总数
Set Conn = Server.CreateObject("ADODB.Connection")rn Conn.Open Application("sqlbusi_ConnectionString")rnSet Rs = Server.CreateObject("ADODB.ReCordset").rnsql = "select * From tCountry"rnrs.Open sql, conn, 1,1rnresponse.write rs.RecordCountrnrnrn数据库中有十条<em>记录</em> 以上方法<em>返回</em> -1 rnrn不知为何?rn
Recordcount返回记录总数为什么总是"-1"!
我用ASP访问Access97数据库,以下是连接数据库的部分代码:rnset conn=server.createobject("ADODB.Connection")rnset rs=server.createobject("ADODB.Recordset")rnconn.provider="Microsoft.jet.oledb.3.51"rnconn.ConnectionString ="data source=" & server.mappath("diaocha.mdb")rnconn.openrnrs.CursorType = adOpenKeysetrnrs.ActiveConnection = connrnrs.open "select * from test"
邹键存储过程怎么返回记录总数
/*--用存储过程实现的<em>分页</em>程序 rn rn 显示指定表、视图、查询结果的第X页 rn 对于表中主键或标识列的情况,直接从原表取数查询,其它情况使用临时表的方法 rn 如果视图或查询结果中有主键,不推荐此方法 rn rn --邹建 2003.09--*/ rnCREATE Proc p_show rn @QueryStr nvarchar(4000), --表名、视图名、查询语句 rn @PageSize int=10, --每页的大小(行数) rn @PageCurrent int=1, --要显示的页 rn @FdShow nvarchar (4000)='', --要显示的字段列表,如果查询结果有标识字段,需要指定此值,且不包含标识字段 rn @FdOrder nvarchar (1000)='' --排序字段列表 rnASrn。。。。。。。。。。。
为何查询返回记录总数总是-1
模块:rnPublic Conn As New ADODB.Connection 'rnPublic Rec As ADODB.RecordsetrnPublic Cmd As New ADODB.Command rnPublic strSql as string '存放 SQL 语句rnrn'显示<em>记录</em>列表rnPublic Sub FillList()rnstrSql = "select name from functionsub"rnCmd.CommandText = strSqlrnSet Rec = Cmd.Executern'************************************************rn'为何<em>记录</em><em>总数</em>总是<em>返回</em>-1,哪怕<em>记录</em>集中有上百条<em>记录</em>rn'************************************************rnDo While Not (Rec.Eof)rn Form1.List1.AddItem Rec.Fields(0)rn Rec.MoveNextrnLooprnEnd Subrnrn'显示<em>记录</em>的详细内容rnPublic Sub ShowData(Byval sName As String)rnstrSql = "select * from functionsub where name = '" & sName & "'"rnCmd.CommandText = strSqlrnSet Rec = Cmd.Executern'***********************************************rn'这里的<em>记录</em><em>总数</em>还是<em>返回</em>-1,虽然只有一条<em>记录</em>rn'***********************************************rnWith Form1rn .txtName.Text = Rec.Fields("name")rn .txtLibrary.Text = Rec.Fields("library")rn ....rn .txtSystem.Text = Rec.Fields("system")rnEnd WithrnEnd Subrnrn初始化:rnPrivate Sub Form_Initialize()rnDim strOpen As Stringrn'初始化连接字符串rnstrOpen = "Provider=microsoft.jet.oledb.4.0;Data Source=" & CheckPath(App.Path) & _rn"APIChecker.mdb"rnConn.Open strOpen '打开数据库rn'FRec.Open "functionsub", Conn, adOpenStatic, adLockPessimisticrnCmd.ActiveConnection = Conn '设置 Cmd 对象的活动连接rnEnd Sub
从存储过程中返回记录总数的问题
asp代码: rn rn rnrn使用上面的代码能正确执行,但不能取得rs<em>记录</em><em>总数</em>,请问怎样才能获取到<em>记录</em><em>总数</em>.rnrnrn存储过程代码: rnALTER PROCEDURE sp_Search rnrn@tblName varchar(255), -- 表名 rn@strGetFields varchar(1000) = '* ', -- 需要<em>返回</em>的列 rn@fldName varchar(255)= ' ', -- 排序的字段名 rn@PageSize int = 25, -- 页尺寸 rn@PageIndex int = 1, -- 页码 rn@doCount bit = 0, -- <em>返回</em><em>记录</em><em>总数</em>, 非 0 值则<em>返回</em> rn@OrderType bit = 1, -- 设置排序类型, 非 0 值则降序 rn@strWhere varchar(1500) = ' ' -- 查询条件 (注意: 不要加 where) rnrnAS rnrndeclare @strSQL varchar(5000) -- 主语句 rndeclare @strTmp varchar(110) -- 临时变量 rndeclare @strOrder varchar(400) -- 排序类型 rnrnif @doCount != 0 rn begin rn if @strWhere != ' ' rn set @strSQL = 'select count(*) as Total from [ ' + @tblName + '] where '+@strWhere rn else rn set @strSQL = 'select count(*) as Total from [ ' + @tblName + '] ' rnend rnrnelse rnbegin rnif @OrderType != 0 rnbegin rn set @strTmp = ' (select max ' rn set @strOrder = ' order by [ ' + @fldName + '] asc ' rnend rnrnif @PageIndex = 1 rnbegin rn if @strWhere != ' ' rn set @strSQL = 'select top ' + str(@PageSize) + ' '+@strGetFields+ ' from [ ' + @tblName + '] where ' + @strWhere + ' ' + @strOrder rn else rn set @strSQL = 'select top ' + str(@PageSize) + ' '+@strGetFields+ ' from [ '+ @tblName + '] '+ @strOrder rnend rnrnelse rnbegin rnset @strSQL = 'select top ' + str(@PageSize) + ' '+@strGetFields+ ' from [ ' rn + @tblName + '] where [ ' + @fldName + '] ' + @strTmp + '([ '+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' [ '+ @fldName + '] from [ ' + @tblName + '] ' + @strOrder + ') as tblTmp) '+ @strOrder rnrnif @strWhere != ' ' rn set @strSQL = 'select top ' + str(@PageSize) + ' '+@strGetFields+ ' from [ ' rn + @tblName + '] where [ ' + @fldName + '] ' + @strTmp + '([ ' rn + @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' [ ' rn + @fldName + '] from [ ' + @tblName + '] where ' + @strWhere + ' ' rn + @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder rnend rnrnend rnrnexec (@strSQL) rnrn
存储过程里怎么返回记录总数
use lwjjrngornalter Procedure [dbo].News_listrn@catename varchar(30),rn@num int,rn@scount int output rnAsrnSet nocount on rnBeginrn set rowcount @num rn Select ID,标题,发表时间 from News where 文章大类=@catename order by id descrn select @scount=@@rowcount --<em>返回</em><em>记录</em><em>总数</em>rnEndrn=============================rnSub Topnews(Byval cate,Byval num)rn'On Error Resume NextrnIf cate="" Then Exit SubrnIf num="" or not isnumeric(num) Then Exit SubrnSet oCommand=Server.CreateObject("ADODB.Command")rnWith oCommandrn .ActiveConnection = Conn rn .CommandText = "News_list" rn .CommandType = 4 rn .Prepared = true rn .Parameters.append .CreateParameter("@catename",200,1,30,cate) rn .Parameters.append .CreateParameter("@num",3,1,4,num)rn .Parameters.append .CreateParameter("@scount",3,2,4)rn Set Rs= .ExecuternEnd Withrn If oCommand(2)=0 Thenrn str="此栏目暂时没有相关<em>记录</em>"rn Elsern str="·"rn str=str&rs("标题")rn str=str&" "rn End IfrnSet oCommand=NothingrnResponse.Write strrnEnd Subrn===================================================rn这样子有<em>记录</em>也显示“此栏目暂时没有相关<em>记录</em>”rnrn===================================================rn存储过程我改成这样也还是不行rnuse lwjjrngornalter Procedure [dbo].News_listrn@catename varchar(30),rn@num int rnAsrnSet nocount on rnBeginrn set rowcount @num rn Select ID,标题,发表时间 from News where 文章大类=@catename order by id descrn if @@rowcount>0 --判断是否有<em>记录</em>rn return 1rn elsern return 0rnEndrn===========================================rnSet oCommand=Server.CreateObject("ADODB.Command")rnWith oCommandrn .ActiveConnection = Conn rn .CommandText = "News_list" rn .CommandType = 4 rn .Prepared = true rn .Parameters.append .CreateParameter("return",2,4) rn .Parameters.append .CreateParameter("@catename",200,1,30,cate) rn .Parameters.append .CreateParameter("@num",3,1,4,num)rn Set Rs= .ExecuternEnd Withrn If oCommand(0)=0 Thenrn str="此栏目暂时没有相关<em>记录</em>"rn Elsern str="·"rn str=str&rs("标题")rn str=str&" "rn End IfrnSet oCommand=Nothingrn=====================================================rn有<em>记录</em>也提示没<em>记录</em>rn rn
返回的是 SqlDataReader 怎么统计记录总数
using (SqlDataReader dr = Danweineirong.ContentDanwei(Request.QueryString["type_ID"].ToString()))rn rn rnrn myList.DataSource = dr;rn myList.DataBind();rnrn现在想统计dr 的所有<em>记录</em>,怎么办呢?
请教存储过程不能返回记录总数
建过程 create procedure [dbo].[CommonPageSelect]rn(rn @SqlWhere varchar(1000)='', --查询条件rn @pagenum int=20,--每页的<em>记录</em>数rn @beginline int=1, --第几页,默认第一页rn @SqlTable varchar(5000),--要查询的表或视图,也可以一句sql语句rn @SqlColumn varchar(4000),--查询的字段rn @SqlPK varchar(50),--主键 rn @SqlOrder varchar(200),--排序rn --@GetCount bit, --是否获取<em>记录</em>数rn @Count int=0 outputrn)rnasrnset nocount onrndeclare @PageLowerBound intrndeclare @PageUpperBound intrndeclare @sqlstr nvarchar(2000)rnrn--获取<em>记录</em>数rnIF 1=1--@beginline=1,可根据实际要求修改条件,如果是总是获取<em>记录</em>数rnBEGINrn set @sqlstr=N'select @Count=count(*) FROM '+@SqlTable+' WHERE 1=1'+@SqlWherern Exec sp_executesql @sqlstr,N'@Count int outPut',@Count outputrn rnENDrn--print @Countrnrnrn-------------rn调用rn set Cmd=Server.CreateObject("Adodb.Command")rn Cmd.ActiveConnection=connrn Cmd.CommandText="CommonPageSelect" '指定存储过程名称rn Cmd.CommandType=4 '其为Stored Procedurern Cmd.Prepared= true rn cmd.Parameters.append cmd.CreateParameter("@SqlWhere",200,1,1000,"" ) rn cmd.Parameters.append cmd.CreateParameter("@pagenum",3,1,5,10) rn cmd.Parameters.append cmd.CreateParameter("@beginline",3,1,5,1) rn cmd.Parameters.append cmd.CreateParameter("@SqlTable",200,1,5000," hymx" ) rn cmd.Parameters.append cmd.CreateParameter("@SqlColumn",200,1,4000," hymx.ID,djh,fhdjh") rn cmd.Parameters.append cmd.CreateParameter("@SqlPK",200,1,50," hymx.id") rn cmd.Parameters.append cmd.CreateParameter("@SqlOrder",200,1,200,"") rn cmd.Parameters.append cmd.CreateParameter("RETURN", 3, 4) rn set rs=cmd.Execute rn rn srecordcount=Cmd(7)rn response.write srecordcount & "ddd"rn-------rn调用时不能输出<em>记录</em>.
ref cursor怎么得到返回记录总数???
包头:rncreate or replace package pkg_selectrnasrntype c_1 is ref cursor;rnend;rnrn过程:rncreate or replace procedure sp_selectrn(rn refCur out pkg_select.c_1,rn num_select_cnt out numberrn)rnasrnbeginrn open refCur forrn select * from 表名 ; rn rn num_select_cnt := refCur%rowcount ;=>怎样得到<em>记录</em><em>总数</em>?此处的结果是0rnrnend;rnrn请大家帮忙!!!
执行存储过程返回记录,如何分页?
如题.执行存储过程<em>返回</em><em>记录</em>,<em>如何</em><em>分页</em>?rn<em>返回</em>后用rnRS.pagesize = 20rn提示该<em>记录</em>集不支持书签.怎么办?
分页存储过程如何再生成总数和总页数返回参数?
CREATE PROCEDURE GetRecordFromPage rn@tblName varchar(255), -- 表名 rn@fldName varchar(255), -- 字段名 rn@OrderfldName varchar(255), -- 排序字段名 rn@StatfldName varchar(255), -- 统计字段名 rn@PageSize int = 10, -- 页尺寸 rn@PageIndex int = 1, -- 页码 rn@IsCount bit = 0, -- <em>返回</em><em>记录</em><em>总数</em>, 非 0 值则<em>返回</em> rn@OrderType bit = 0, -- 设置排序类型, 非 0 值则降序 rn@strWhere varchar(1000) = '' -- 查询条件 (注意: 不要加 where) rnAS rnrndeclare @strSQL varchar(6000) -- 主语句 rndeclare @strTmp varchar(100) -- 临时变量 rndeclare @strOrder varchar(400) -- 排序类型 rndeclare @strTotal varchar(6000) --统计语句rnrnif @OrderType != 0 rnbegin rnset @strTmp = '(select max' rnset @strOrder = ' order by [' + @OrderfldName +'] asc' rnend rnrnset @strTotal = 'select count(' + @StatfldName + ') as Total from [' + @tblName + ']' rnset @strSQL = 'select top ' + str(@PageSize) + ' ' + @fldName + ' from [' rn+ @tblName + '] where [' + @OrderfldName + ']' + @strTmp + '([' rn+ @OrderfldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' [' rn+ @OrderfldName + '] from [' + @tblName + ']' + @strOrder + ') as tblTmp)' rn+ @strOrder rnrnif @strWhere != '' rnbeginrn set @strSQL = 'select top ' + str(@PageSize) + ' ' + @fldName + ' from [' rn + @tblName + '] where [' + @OrderfldName + ']' + @strTmp + '([' rn + @OrderfldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' [' rn + @OrderfldName + '] from [' + @tblName + '] where ' + @strWhere + ' ' rn + @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder rnendrnrnrnrnif @PageIndex = 1 rnbegin rnset @strTmp = '' rnif @strWhere != '' rnset @strTmp = ' where ' + @strWhere rnrnset @strSQL = 'select top ' + str(@PageSize) + ' ' + @fldName + ' from [' rn+ @tblName + ']' + @strTmp + ' ' + @strOrder rnend rnrn--if @IsCount != 0 rn--set @strSQL = 'select count(' + @StatfldName + ') as Total from [' + @tblName + ']' rnrnexec (@strSQL) rnrnrnGOrnrnrn只想生成一个<em>记录</em>集,在这个<em>记录</em>集里面既有包含<em>分页</em>的内容,又有总页数和总条数<em>返回</em>到asp页面,请问该<em>如何</em>解决?
ResultSet 如何得到记录总数 
java+mysql如下 rnString sql = "select * from a";rnResultSet rs= statement.executeQuery(sql)rnrn第1个问题rn现在我需要<em>记录</em><em>总数</em>,找了半天没有看到方法,<em>如何</em>得到<em>记录</em><em>总数</em>  (不会再来一次select count(×)吧)rn第2个问题 我将使用批量更新的rn PreparedStatement pst = (PreparedStatement) con.prepareStatement("insert into test04 values (?,'中国')"); rn rn while(startIndex < 620000) --如果知道<em>记录</em><em>总数</em>,就把<em>总数</em>替换这个620000rn<em>如何</em>写每500次做一次批量更新rnfor (int i = 0; i < 500; i++) rnpst.setInt(1, i); // 把一个SQL命令加入命令列表 rnpst.addBatch(); rn rn// 执行批量更新 rnpst.executeBatch(); rn// 语句执行完毕,提交本事务 rncon.commit();rn               ----这里需要<em>如何</em>修改 rn
如何获得记录总数和显示出来?
CString TestM;rn TestM = (CString)MySet->GetRecordCount();rn TestM=(CString)(2);rnrn AfxMessageBox(TestM);rnrn这样写行吗?我运行时出错.请教各位老师.
如何取得数据库的记录总数
用VC6开发SQL SERVER2000项目,想实现开窗口前取得各个表的<em>记录</em><em>总数</em>,不知<em>如何</em>实现?
datagrid如何获得记录总数
一般只有在绑定的时候才可以,像下边这样直接输入就不可以了,有没有其他方法获得?rnrnPrivate Sub Button_Onclick..................rn Response.Write(MyDataGrid1.DataSource.Count)rnEnd Sub
请问如何得到记录总数????????????????????????
谢谢
请问如何查询记录总数
-
如何获取数据库表的记录总数
Dim sql As Stringrn Dim ds As New DataSetrn ds.Clear()rn sql = "select * from name " rn Dim cmd As New OleDbDataAdapter(sql, Conn)rn cmd.Fill(ds, "name")rn Dim myvalues(0) As Stringrn Dim listview As New ListViewItemrn For i As Integer = 0 To ds.Tables(0).Rows.Count - 1rn listview.Text = ds.Tables(0).Rows(i)("id")rn listview.SubItems.Add(ds.Tables(0).Rows(i)("**"))rn listview.SubItems.Add(ds.Tables(0).Rows(i)("**"))rn listview.SubItems.Add(ds.Tables(0).Rows(i)("**"))rn listview.SubItems.Add(ds.Tables(0).Rows(i)("**"))rn listview.SubItems.Add(ds.Tables(0).Rows(i)("**"))rn ListView1.Items.Add(listview)rn listview = New ListViewItem()rn NextrnMe.Label3.Text = 这里显示name表的<em>记录</em><em>总数</em>。rn请问该怎么写?才能输出name表的<em>记录</em><em>总数</em>?rn先谢谢了。
hibernate分页的时候记录总数一般是如何统计的?
hibernate提供了很便捷的<em>分页</em>方式,通过setMaxResults等方法可以轻松实现<em>分页</em>。但是,在做<em>分页</em>方法时一般会用到<em>记录</em><em>总数</em>(totalResults),这应该用什么方法统计呢?rnrn我目前用的方法是在DAO类中加入一个方法,该方法执行sql语句例如:select sum(*) from table where × × ×;这样来获得<em>记录</em><em>总数</em>,但感觉这么做每次获取<em>记录</em><em>总数</em>都要select一次数据库,效率很低,请问大家是<em>如何</em>获取<em>记录</em><em>总数</em>的。rnrn有什么好的方法可以尽可能的不牺牲效率,却能保持良好的设计?
请问sqlserver05用row_number进行分页如何获取记录总数
[code=sql]rnWith TTTTT ASrn(rn select productid,productname,price,pictureshow,updatetime from product A rn left join (select kindid,brandid from Kind) B on A.kindid=B.kindidrn where B.brandid=@brandidrn)rnselect * fromrn(rn select ROW_NUMBER() OVER (ORDER BY updatetime desc) as rownumber,* from TTTTTrn) as Trnwhere rownumber between 1 and 10rn[/code]rn这是我的sql语句,我想获得TTTTT<em>记录</em>的<em>总数</em>,求教
如何得到影响的记录总数
rs = server.object("ADODB.recordset")rn对于rs,在执行完INSERT,UPDATE,DELETE三个操作后rn怎么才得到数据库中被影响的<em>记录</em><em>总数</em>rn请指点一下
asp.net 调用mysql存储过程如何获取返回记录
rn #region 调用查询存储过程,用ExecuteNonQuery方法,<em>返回</em>影响行数rn public static List SpSelectDataSet(PopulateDelegate pd, string sqName, MySqlParameter[] param, out int RecordCount)rn rn using (MySqlConnection cnn = new MySqlConnection(ConnectionString))rn rn List lst = new List();rn RecordCount = 0;rn MySqlCommand cmd = new MySqlCommand();rn cmd.Connection = cnn;rn cmd.CommandText = sqName;rn cmd.CommandTimeout = 120;rn cmd.CommandType = CommandType.StoredProcedure;rn foreach (MySqlParameter p in param)rn rn cmd.Parameters.Add(p);rn rnrn tryrn rn if (cnn.State != ConnectionState.Open)rn rn cnn.Open();rn rnrn MySqlDataReader dr = cmd.ExecuteReader();rn while (dr.Read())rn rn lst.Add(pd(dr));rn rn // 取<em>记录</em><em>总数</em> 及页数rn if (dr.NextResult())rn rn if (dr.Read())rn rn RecordCount = Convert.ToInt32(dr["RecordCount"]);rn rn rnrn dr.Close();rn cmd.Dispose();rn return lst;rn rn catch (Exception ex)rn rn FileTxtLogs.WriteLog(ex.Message);rn throw;rn rn finallyrn rn cmd.Parameters.Clear();rn cnn.Close();rn rn rn rnrnrnMySQL中的变量是RecordCount(总<em>记录</em>),现在程序走到 if (dr.NextResult()) 就跳过去了,无法取得mysql的<em>返回</em>的总<em>记录</em>rn
如何显示当前记录记录总数
请问在窗体上建有TEXT1和TEXT2,请问<em>如何</em>实现在其中显示当前<em>记录</em>和<em>记录</em><em>总数</em>.MDB数据库,VB6.请详细指教,最好能将代码写出来.多谢
如何知道记录结构里面记录总数?
typern Tsql = recordrn FieldN: string; //字段名rn Condition: string; //条件rn FieldV: string; //字段值rn Login: string; //逻辑 or andrn end;rn IndexSql = ^Tsql;rnrn new(myrecord);rn with myrecord^ dorn beginrn FieldN := '用户名称';rn Condition := '=';rn FieldV := '''梦妹''';rn Login := 'or';rn end;rnrn我定了如上的<em>记录</em>结构,然后我会不断地向里面增加<em>记录</em>,请问<em>如何</em>知道这个 myrecord的<em>记录</em><em>总数</em>,还有,用完时想释放应该用什么函数?请大家帮忙.
在不改写存储过程的情况下,如何返回记录总数
这是存储过程rn//////////////////////////////rncreate proc myproc rnasrnselect * from bookrn////////////////////////////rnrnrn在查询分析器中用 exec 调用它rnrnexec myproc rnrn在不改写存储过程的情况下,<em>如何</em><em>返回</em><em>记录</em><em>总数</em>?就是说exec <em>返回</em>的是个什么?能得到<em>记录</em>数吗?rn
●●●如何通过参数将所检索的记录总数返回?●●●
如题。rnrn例如我我创建如下一个存储过程。(SQL SERVER2000)rnCreate Procedure upGetRecordsrn @sName NVARCHAR(20),rn @nCount int outputrnAsrn SELECT * FROM My_Table WHERE Name=@sName --这是所得到的<em>记录</em>集rnrn --但是<em>如何</em>才能将所得到的<em>记录</em>集的<em>总数</em><em>返回</em>给参数@nCount呢?(请赐教)rn --能用如下的代码吗?rn SELECT COUNT(*) AS REC_COUNT FROM My_Table WHERE Name=@sNamern SELECT @nCount= -- 在此处<em>如何</em>赋值?rnrn --如果按照我的这样写法,得到的结果集岂不是有两个?我在Vc中<em>如何</em>识别?rnrn--我最想实现的是能<em>返回</em>一个<em>记录</em>集,然后将符合我检索条件的<em>记录</em>的<em>记录</em><em>总数</em><em>返回</em>给@nCount值,希望大家帮忙。rnrnreturn @@Errorrn
mysql存储过程实现分页
<em>mysql存储过程</em>实现<em>分页</em> <em>mysql存储过程</em>实现<em>分页</em> <em>mysql存储过程</em>实现<em>分页</em> <em>mysql存储过程</em>实现<em>分页</em>
用于分页的MySQL存储过程
以前一直是把<em>分页</em>算法写在类里面,今天试了试写进存储过程中,效果好不错。 使用方法: CALL `dbpassport`.`get_page`('表名','字段名列表(多字段用逗号隔开)',当前页号码,每页<em>记录</em>数,'排序字段(多字段用逗号隔开)','筛选条件(没有则留空)') CREATE DEFINER=`root`@`localhost` PROCEDURE `get_page...
mysql存储过程通用分页
NULL 博文链接:https://zhaoshijie.iteye.com/blog/1270970
既获得记录总数,又获得分页记录,这个怎么搞?
var vipCards = (from p in eshopDataContext.VipCardrn join c in eshopDataContext.Customerrn on p.card_No equals c.customer_PostCode into CusCardrn from x in CusCard.DefaultIfEmpty()rn select p).Skip((pageSkip - 1) * maxPageSize).Take(maxPageSize);rn int vipCardsCount = (from p in eshopDataContext.VipCardrn join c in eshopDataContext.Customerrn on p.card_No equals c.customer_PostCode into CusCardrn from x in CusCard.DefaultIfEmpty()rn select p).Count();rnrn怎么把上边的合并成一个linq?rnrnrn
通用分页总数查询
走进JSP、掌握JSP语法、JSP内置对象、Servlet技术、综合实验(一)——JSP使用Model2实现登录模块、EL表达式语言、JSTL核心标签库、综合实验(二)——结合JSTL与EL技术开发通讯录模块、JSP操作XML、JavaScript脚本语言、综合实验(三)——Ajax实现用户注册模块——可以轻松领会Java Web程序开发的精髓,提高开发技能。
mysql存储过程返回多个值
mysql存储函数只<em>返回</em>一个值。要开发<em>返回</em>多个值的存储过程,需要使用带有INOUT或OUT参数的存储过程。咱们先来看一个orders表它的结构:mysql&amp;gt; desc orders; +----------------+-------------+------+-----+---------+-------+ | Field | Type | Null | K...
VB.NET查找数据记录返回记录总数问题
查账3张表里的所有<em>记录</em>的行数,写入textbox内里。rn自己写的代码如下:rn con.openrn Dim com2 As OleDbCommand = New OleDbCommand("select * from 表1,表2,表3", con)rn Dim h2 As OleDbDataReaderrn Dim ble2 As New DataTablern h2 = com2.ExecuteReader()rn ble2.Load(h2)rn textbox1.text = ble2.Rows.count.ToStringrnrn运行后,textbox1是空白的有没有数字。rn小白一个,代码东拼西凑写到这里,我也不知道要<em>如何</em>修改,求论坛里的老师指点!
返回值问题?--我要返回满足条件所有的记录总数记录.
alter proc p_gqxx_grn( rn@lb varchar(50),rn@total1 int outputrn)rnasrndeclare @sql varchar(5000)rnrn--构造获得总页的数的检索语句rn select count(*) from pro where lb=@lbrn这里<em>如何</em>写rn这里<em>如何</em>写rn--这里<em>如何</em>写rnrn--下面是我的<em>记录</em>集也要<em>返回</em>rnselect @sql='select id,id3,id2 from pro where lb=' + @lbrnexec (@sql)rnrn我要<em>返回</em>满足条件所有的<em>记录</em><em>总数</em>和<em>记录</em>.rnrn在asp.net中通过rndim sp_temp as SqlParameterrnsp_temp=comm.Parameters.Add("@total1",SqlDbType.Int)rnsp_temp.Direction=ParameterDirection.Outputrn来获取<em>总数</em>rn
怎么获取记录总数返回指定的记录条数?
能不能组合一条查询语句,我想获取表中的<em>记录</em><em>总数</em>,并且能<em>返回</em>指定的<em>记录</em>条数?
mysql存储过程返回结果集
代码:rn(1)rnstring query = "call SelectAllCreatureTemplate()";rnint t = mysql_query(mysql, query.c_str());rnMYSQL_RES* m_res = mysql_store_result(mysql);rn(2)rnstring query = "call SelectAllCreatureTemplate";rnint t = mysql_query(mysql, query.c_str());rnMYSQL_RES* m_res = mysql_store_result(mysql);rnrn其中存储过程:rncreate procedure SelectAllCreatureTemplate()rnbeginrn select * from CreatureTemplate;rnendrnrnrn代码(1)不能取到结果,也就是说m_res为空;rn代码(2)不能取到结果,也就是说m_res不为空;rn为什么会这样子? 是因为存储过程不能取到结果集吗?
MySql存储过程返回临时表
老同志们,菜鸟又来问问题啦!rn需求:在存储过程中,将需要的数据做成临时表,然后,在过程中return临时表,我在程序中,再接收这张临时表。rn问题:<em>如何</em><em>返回</em>临时表?rn谢谢你们了
MySQL存储过程返回多行数据
我希望select age,name from stu_info再将age name插入age-name表中。由于select出来的age和name可能会很多,而存储过程只能<em>返回</em>一条数据。rn请问各位该<em>如何</em>实现?是不是要用到游标
求助:关于SQL分页问题,使用动态存储过程,不知如何返回记录总数
CREATE procedure PagingPagingrn(rn@pagesize int,rn@pageindex int,rn@recordcount int OUT,rn@pagecount int OUT,rn@selectID NVarChar(20),rn@selectTable NVarChar(20),rn@where NVarChar(1000),rn@where2 NVarChar(200)rn)rnasrndeclare @sql NVarChar(2000)rndeclare @PageLowerBound intrndeclare @PageUpperBound intrnset @PageLowerBound=@pageindex*@pagesizernset @PageUpperBound=@PageLowerBound+@pagesizerncreate table #pageindex(id int identity(1,1) not null,nid int,oid int)rnset rowcount @PageUpperBoundrnset @sql = 'insert into #pageindex(nid,oid) select ' + @selectID +' from ' + @selectTable + ' where ' + @where + ' ,#pageindex p where ' + @where2 + ' and p.id>' + Str(@PageLowerBound) +' and p.id + @wherernexec(@sql)rn但是好像一个存储过程里面sql只能运行一次。。rnrn希望高手赐教
mysql存储过程 返回 list结果集
思路:直接链接多个表<em>返回</em>结果集即可,先写成普通的sql调整好,不要输入参数,再写成存储过程, 不要用游标,否则会把你慢哭的 BEGIN DECLARE In_StartTime VARCHAR(64); DECLARE In_StopTime VARCHAR(64); DECLARE IN_User_id VARCHAR(64); DECLARE IN_work_no ...
存储过程返回记录集及总数
这个存储过程<em>返回</em><em>总数</em>受@PageSize页码限制,<em>如何</em>不受它限制;rn比如pagesize=1,那么@RowCount也是1.rnrn[code=sql]rnUSE [bjjnkj]rnGOrnrn/****** Object: StoredProcedure [dbo].[UP_GetRecordByPage] Script Date: 08/02/2013 00:44:03 ******/rnSET ANSI_NULLS ONrnGOrnrnSET QUOTED_IDENTIFIER ONrnGOrnrnALTER PROCEDURE [dbo].[UP_GetRecordByPage]rn @tblName varchar(255), -- 表名rn @fldName varchar(255), -- 主键字段名rn @PageSize int = 10, -- 页尺寸rn @PageIndex int = 1, -- 页码rn @IsReCount bit = 0, -- <em>返回</em><em>记录</em><em>总数</em>, 非 0 值则<em>返回</em>rn @OrderType bit = 0, -- 设置排序类型, 非 0 值则降序rn @strWhere varchar(1000) = '', -- 查询条件 (注意: 不要加 where)rn @RowCount int=0 output -- <em>返回</em><em>记录</em>数rnASrnrnbeginrnrndeclare @strSQL varchar(6000) -- 主语句rndeclare @strTmp varchar(100) -- 临时变量(查询条件过长时可能会出错,可修改100为1000)rndeclare @strOrder varchar(400) -- 排序类型rnrnif @OrderType != 0rnbeginrn set @strTmp = '(select max'rn set @strOrder = ' order by [' + @fldName +'] asc'rnendrn rnset @strSQL = 'select top ' + str(@PageSize) + ' * from ['rn + @tblName + '] where [' + @fldName + ']' + @strTmp + '(['rn + @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['rn + @fldName + '] from [' + @tblName + ']' + @strOrder + ') as tblTmp)'rn + @strOrderrn rnif @strWhere != ''rn set @strSQL = 'select top ' + str(@PageSize) + ' * from ['rn + @tblName + '] where [' + @fldName + ']' + @strTmp + '(['rn + @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['rn + @fldName + '] from [' + @tblName + '] where ' + @strWhere + ' 'rn + @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrderrn rnif @PageIndex = 1rnbeginrn set @strTmp =''rn if @strWhere != ''rn set @strTmp = ' where ' + @strWherern rn set @strSQL = 'select top ' + str(@PageSize) + ' * from ['rn + @tblName + ']' + @strTmp + ' ' + @strOrderrnendrnrnrnif @IsReCount != 0rn set @strSQL = 'select count(*) as Total from [' + @tblName + ']'+' where ' + @strWherern rnexec(@strSQL)rnrnset @RowCount=@@ROWCOUNTrnrnendrnrnGOrnrnrnrn[/code]
查询返回总数
with adoquery1 dorn beginrn close;rn sql.Clear;rn sql.Add('Select GameName from [Game] where GameName="'+GameName1+'"');rn execsql;rn end;rnrn我想<em>返回</em>符合这条SQL语句的值的<em>总数</em>
mysql存储过程如何返回主键 具体点
mysql!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MyBaits:如何接收Mysql存储过程多个返回
我测试所用的表分别为app_action、app_action_type、integral_sign_source内容随便,大家可以随便建立; 存储过程名为:mytest  创建语句如下: DROP PROCEDURE IF EXISTS `mytest`$$ CREATE DEFINER=`wsrp`@`%` PROCEDURE `mytest`() BEGIN SELECT COU
MySql存储过程里 如何接收返回的多个结果
BEGINrnrn DECLARE userNames varchar(500) DEFAULT ''; ##用户名字rn DECLARE sums int DEFAULT 0; rn DECLARE namess varchar(500) DEFAULT ''; rn DECLARE i int; rn set i = 0;rn select count(*) into sums from book where price = 123;rn ##select name into namess from book where price = 123;##这个是错误的因为这条sql <em>返回</em>的有多条数据rn rn while i < sums rn DO rn set i = i+1;rn end while;rnENDrnrn上述select 中 结果为:rnid name pricern1 aa 123rn2 bb 123rnrn我想把得到的多条数据中 name字段里的值拿出来拼成 aa,bb 这样的字符传 怎么做,请大家帮帮我.感激不尽
mysql存储过程学习记录
例1 :嵌套游标 CREATE PROCEDURE card_rollback() BEGIN DECLARE done INT DEFAULT 0; -- 游标结束标志 DECLARE value_ INT ; DECLARE cur CURSOR FOR select id from test ;-- table or view DECLARE C...
Oracle存储过程,如何返回记录总数rowcount
情况是这样的,已知一条sql语句,select * from tbrnrn编程,执行这条sql语句,一条一条fetch取<em>返回</em>值前,我想知道这条sql语句会<em>返回</em>多少条<em>记录</em>集,我好再做其它操作。rnrn所以我需要一个功能,就是要知道这条sql语句的<em>返回</em><em>记录</em>数。有一些数据库,如mysql,会提供get_row_num api,能够取得<em>记录</em>集数。rn但我所知oracle没有提供这样的api,sqlserver也没有。rnrn在sqlserver中,我想到了一个办法,就是建立一个存储过程,用游标方式执行这条sql语句,并通过sqlserver提供的功能<em>返回</em><em>记录</em>集个数。rnrnCREATE PROCEDURE GetRowNumrn@sqlstr nvarchar(4000)rnasrnset nocount onrndeclare @P1 int,rn@rowcount intrnexec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount outputrnselect @rowcount as sqlrowcountrnexec sp_cursorfetch @P1rnexec sp_cursorclose @P1rnset nocount offrnrn这样,执行这个存储过程,就能同时<em>返回</em><em>记录</em>集个数,和<em>记录</em>集。rnrn但在oracle中,我找不到相应的东西。rnrn请达人指教在oracle<em>如何</em>取得一条sql语句的<em>记录</em>个数,不要告诉我用select count(*) from (subsql),这样的话,我认为效率是很低的。rn
获取记录总数的错误
Microsoft JET Database Engine 错误 '80040e21' rnrn试图执行的查询中不包含作为合计函数一部分的特定表达式 'id' 。 rnrnrnset rs=conn.execute("select count(id) as idcount from [datafrom] where singerid="&id&" order by id desc")rnidcount=rs("idcount")'获取<em>记录</em><em>总数</em>rnrn怎么改?
取得记录总数的错误?
public String getPageCount()rnrn String pc="";rn tryrn rn String sql = "SELECT COUNT(*) FROM RMS.dbo.prd_pic_tbl_pic";rn conn = DatabaseDao.getConn();rn stmt = conn.createStatement();rn rs = stmt.executeQuery(sql);rn pc=rs.getString(0);rn catch (Exception e)rn rn e.printStackTrace();rn rn return pc;rnrnrn================================错误提示rnjava.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid operation for the current cursor position.rn at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)rn at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)rn at com.microsoft.jdbc.base.BaseResultSet.validateCursorPosition(Unknown Source)rn at com.microsoft.jdbc.base.BaseResultSet.getString(Unknown Source)rnrn好象是查询语句的问题,那里写错了?连接是正常的rn第一次用SQL Server,请高手帮下忙
怎么得到记录总数
SqlConnection cn1=new SqlConnection(strConn);rn rn cn1.Open();rnrn String strSQL1="select count(*) from menu group by menu_id ";rnrn SqlCommand cm1=new SqlCommand(strSQL1,cn1);rnrn SqlDataReader dr1=cm1.ExecuteReader(); rn rn //int allrec=dr1.GetInt32(0);rn rn cn1.Close();rnrn rnrn//上面的allrec得不到~~sql语句怎么写?
MYSQL:求记录总数
tA,tB(1:N)rn求与tB有关联的tA的<em>记录</em><em>总数</em>(不是关联的<em>总数</em>)rn
取得记录总数.
是这样的。rnrnObjectDataSource1 已经绑定到了 DataSet 的GetInfoData上。rnrn而GridView1已经绑定到ObjectDataSource1rnrn <em>如何</em>得到GetInfoData的<em>记录</em><em>总数</em>?
统计记录总数出错
rnrnrn 显示学生信息rn rnrnrnrnrnrnrn rn 学籍管理系统 rn rn rn rn rn 序号rn 学号rn 姓名rn 性别rn 年龄rn 籍贯rn 院系rn 修改rn 删除rn rn rn rn rn rn rn rn rn rn rn 修改rn 删除rn rn rn rn 添加<em>记录</em>rn rn <em>记录</em><em>总数</em>:rn rnrnrnrnrn结果显示为<em>记录</em><em>总数</em>:0,为什么,哪错了?rn
【存储过程】MySQL存储过程记录
MySQL的存储过程创建<em>记录</em>
MySQL存储过程简单记录
1. 基本格式  drop procedure if exists p_test; create procedure p_test(in id int, out name VARCHAR(100)) BEGIN select id; select uname into name from t_user where uid = id; end; drop ...  create...  类
gridview记录总数
gridview 有什么属性可以直接得到 数据的总<em>记录</em>数吗?不是当前页的
php读取excel的记录总数
$ex = new COM("Excel.sheet") or Die ("Did not connect"); rn$wkb = $ex->application->Workbooks->Open($workbook) or Die ("Did not open"); rn$sheets = $wkb->Worksheets($sheet);rn$sheets->activate;rnrn我用COM读取excel,怎幺取得excel的总<em>记录</em>数呢?rn也就是说总共有多少条<em>记录</em>
关于 记录总数的问题!
我发现 用query或table控件时 用recordcount取其<em>记录</em><em>总数</em> ,当<em>记录</em>很多时,<em>返回</em>值是-1,怎么回事呢?rnrn又怎么来实现取其<em>记录</em><em>总数</em> 的目的呢?rnrn多谢!
无法得到记录总数
使用set rs=conn.execute(sqlstr)后,recordcount=-1,rs.movelast不能执行rnrn在线等候...
ResultSet 获取记录总数
   //获取<em>记录</em>数   rs.last(); //移到最后一行   int rowCount = rs.getRow(); //得到当前行号,也就是<em>记录</em>数   rs.beforeFirst(); //还要用到<em>记录</em>集,就把指针再移到初始化的位置...
数据库查询记录总数
我想得到,查询语句查出来的<em>记录</em>的<em>总数</em>rn[code=VB]rn db.RunSelectSQL ("SELECT 中文名 From 数据信息 WHERE (数据集代码 = 'A')")rn ListElmtCount = db.rs.RecordCount '查询一共有多少条<em>记录</em>rnrn[/code]rn上面SQL语句我在数据库上能查到16条<em>记录</em>,为什么我程序运行ListElmtCount=-1呢rn
MFC 得到记录总数
利用ODBC 访问数据库:rn if (!m_FeildSet.IsBOF())rn m_FeildSet.MoveFirst();rn while(!m_FeildSet.IsEOF()) rn m_FeildSet.MoveNext(); rn column=m_FeildSet.GetRecordCount();rnrn我是这样得到<em>记录</em><em>总数</em>的,可是为什么得到是<em>记录</em><em>总数</em>的两倍呢rn比如:表为rnA102 dd 地点 地点 rnA102 fff 发f 方法rnA102 方法 方法 发发发rn结果 column =6;rn这是为什么啊
大数据量获取记录总数
有一张UserMsg,用户短信表,里面msgid,Title,Msg,toUser,fromUser,isRead字段,rntoUser,fromUser有建立索引rn获取某用的短信时,我用select count(0) from UserMsg where toUser=@toUserrn数据还可以,但要获取某用户的未读短信的时候,我用 select count(0) from UserMsg where toUser=@toUser and isRead=0rn速度就慢多了。isRead,没有建立索引。这个字段 不是0,就是1,建立索引网上看,这样的值不适合建立索引。同样,感觉维护成本也比较大。rnrnUserMsg表数据在千万级别,大家认为有要怎么来出来比较好。
怎样获得记录总数
[code=SQL]SELECT COUNT(*) AS Total FROM SUMMARY_5000rn GROUP BY CNUMBER[/code]rnrn我是这样写的,但是不是我要的答案,rn结果是CNUMBER分组条件下的<em>记录</em>数,rnCNUMBER DURATIONrnA 1rnA 2rnB 2rnB 1rnC 3rnrnTotalrn2rn2rn1rnrn而不是我想要的rnTotalrn3
统计查询记录总数
select cableName,bairPress from currentcabledata where to_number(bairPress)>1580 and bureauname='玉桥营维'rn上面是2个字段的一个收索我要通过统计这2个字段同时不重复的<em>记录</em><em>总数</em>rn
统计记录总数的语句
方法一: sqlt="select COUNT(*) as tt from  worktime   "   set rst=conn.execute(sqlt)  text=rst("tt")   方法二:
统计dbgrid的记录总数
dbgrid与query相关联,请问<em>如何</em>得到dbgrid的<em>记录</em><em>总数</em>?
统计记录总数的问题
关于统计<em>记录</em><em>总数</em>的问题rnrn表结构:rnidrnorder_idrnaccountrnship_countryrnrn数据:rnid--order_id--account--ship_countryrn1---00001----CO----JPrn2---00002----CO----JPrn3---00003----CO----JPrn4---00004----CO----GBrn5---00005----CO----GBrn6---00006----CO----FRrn7---00007----CO----ITrn8---00007----CO----ITrnrn想要实现的统计:rn统计ship_country一样的<em>记录</em>数,要group by order_idrnrn想要的结果:rnship_country---count()rnJP----3rnGB----2rnFR----1rnIT----1rnrn请问这样的统计语句该怎么写呢?在此先谢过了rnrnrn
记录太多如何分页
在ASP中,如果我用一个查询语句产生的数据集<em>记录</em>太多,一页显示不太方便,怎样实现自动<em>分页</em>呢,比如我想在一页中显示20个<em>记录</em>,语句应该怎样写?
HibernateTemplate() 获取最大记录数/记录总数/总数
[code=&quot;java&quot;]//第一种方法:   String hql = &quot;select count(*) from User as user&quot;;   Integer count = (Integer)getHibernateTemplate().find(hql).listIterator().next();   return count.intValue(); //第二种方法: ...
Hibernate中如何使用count(*)取得表中记录总数
spring+hibernate //第一种方法: String hql = &quot;select count(*) from User as user&quot;; Integer count = (Integer)getHibernateTemplate().find(hql).listIterator().next(); return count.intValue(); //第...
深入剖析JSP和Servlet对中文的处理下载
深入剖析JSP和Servlet对中文的处理 相关下载链接:[url=//download.csdn.net/download/lugangyi0618/2611150?utm_source=bbsseo]//download.csdn.net/download/lugangyi0618/2611150?utm_source=bbsseo[/url]
Pricinples of communication system simulation with wireless applications下载
通信系统仿真以及无线应用 (2003年版) 作者:William H. Tranter Part I Introduction 1 THE ROLE OF SIMULATION 2 SIMULATION METHODOLOGY Part II Fundamental Concepts and Techniques 3 SAMPLING AND QUANTIZING 4 LOWPASS SIMULATION MODELS FOR BANDPASS SIGNALS AND SYSTEMS 5 FILTER MODELSAND SIMULATION TECHNIQUES 6 CASE STUDY: 相关下载链接:[url=//download.csdn.net/download/allentrue/4036165?utm_source=bbsseo]//download.csdn.net/download/allentrue/4036165?utm_source=bbsseo[/url]
ASP.net BBS模板 后台C# vs2010+sql server 2008下载
ASP.net BBS模板 后台C# vs2010+sql server 2008 相关下载链接:[url=//download.csdn.net/download/bei612/4484658?utm_source=bbsseo]//download.csdn.net/download/bei612/4484658?utm_source=bbsseo[/url]
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo
我们是很有底线的