现在的位置: 首页 > 综合 > 正文

Asp中使用存储过程代码收集

2013年03月27日 ⁄ 综合 ⁄ 共 1632字 ⁄ 字号 评论关闭
 1CREATE procedure p_splitpage
 2@sql nvarchar(4000),
 3@page int=1,
 4@pagesize int,
 5@pageCount int=0 output,
 6@recordCount int=0 output
 7as
 8set nocount on
 9declare @p1 int
10
11exec sp_cursoropen @p1 output,@sql,@scrollopt=1,@ccopt=1,@rowcount=@pagecount output
12set @recordCount=@pageCount
13select @pagecount=ceiling(1.0*@pagecount/@pagesize)
14,@page=(@page-1)*@pagesize+1
15exec sp_cursorfetch @p1,16,@page,@pagesize
16exec sp_cursorclose @p1
17GO
18
19
20'通过存储过程调用数据库的数据
21'sql为查询语句,m_pagesize为页面显示行,rst为记录集,totalpages为分多少页,num为多少条记录,curpage为当前页数
22Sub SelectDB(sql,m_pageSize,rst,totalpages,num,curpage)
23if curpage = "" then
24curpage = Trim(Request.Form("pageno"))
25if curpage = "" then
26curpage = Trim(Request.QueryString("pageno"))
27end if
28if curpage = "" then
29curpage = 1
30end if
31end if
32
33Set cmd = Server.CreateObject("ADODB.Command")
34cmd.ActiveConnection = conn
35cmd.CommandType = adCmdStoredProc
36cmd.CommandText = "p_SplitPage"
37
38cmd.Parameters.Append cmd.CreateParameter("@sql", adVarWChar, adParamInput, 4000, sql)
39cmd.Parameters.Append cmd.CreateParameter("@page", adInteger, adParamInput, 4, curpage)
40cmd.Parameters.Append cmd.CreateParameter("@pageSize", adInteger, adParamInput, 4, m_pageSize)
41cmd.Parameters.Append cmd.CreateParameter("@pageCount", adInteger, adParamOutput, 4, totalpages)
42cmd.Parameters.Append cmd.CreateParameter("@recordCount", adInteger, adParamOutput, 4, num)
43
44'Response.Write sql&"<br/>"
45set rst = cmd.Execute
46set rst  = rst.NextRecordSet
47
48totalpages = cmd.Parameters("@pageCount").value
49num = cmd.Parameters("@recordCount").value
50
51if totalpages = 0 then totalpages = 1
52End Sub
53

抱歉!评论已关闭.