ASP 分页存储过程(无错版)


<%
'定义参数
TblName="Products"   '表名
id="ProductID"   '主键名
FldName="ProductID,ProductName,QuantityPerUnit"   '要显示的列名
StrWhere=""   '条件可以自己写,如:firstName=‘johnny’
OrderType=0 '0为升,1为降
PageSizeX = 10
OrderKey="Productid"

if Request("page") = "" Or Request("page") ="0" then
page = 1
else
page = Int(Request("page"))
end if

Set cmd = Server.CreateObject("ADODB.Command")
with cmd
.ActiveConnection = O_Con         '数据库连接字串
.CommandText = "p_pagelist"         '指定存储过程名
.CommandType = 4          '表明这是一个存储过程
.Prepared = true          '要求将SQL命令先行编译
.Parameters.Append .CreateParameter("RETURN",3,4,4)     '返回值
.Parameters.append .CreateParameter("@TableName",200,1,200,TblName)    '分页时要查询的表名
.Parameters.append .CreateParameter("@PrimaryKey",200,1,100,id)    '按该列来进行分页
.Parameters.append .CreateParameter("@Order",200,1,1000,OrderKey) '排序字段
.Parameters.append .CreateParameter("@orderby",11,1,1,OrderType)    '排序方式,0为顺序,1为倒序
.Parameters.append .CreateParameter("@FieldList",200,1,2000,FldName)    '每页中要显示的字段,以逗号隔开
.Parameters.append .CreateParameter("@PageSize",3,1,4,PageSizeX) '每页记录数
.Parameters.append .CreateParameter("@Page",3,1,4,page)     '指定页数
.Parameters.append .CreateParameter("@Where",200,1,800,StrWhere) '查询条件where 中的条件语句
.Parameters.Append .CreateParameter("@PageCount",3,2,4)     '总页数output
.Execute
totalrecord = cmd(0) '总记录数 
totalpage = cmd(9) '总页数
Set rs = .Execute

end with
%>



<%do while not rs.eof%>

  
 
 

<%
rs.movenext
loop
Set cmd=nothing
rs.close  
Set rs=nothing  
Set O_Con=nothing
%>
aa:<%response.Write totalrecord%>
<%=trim(rs("Productid"))%><%=trim(rs("ProductName"))%><%=trim(rs("QuantityPerUnit"))%>



首    页
上一页
   
下一页
尾页

 

Conn.asp

 '---------------------------------------数据库链接------------------------------------------------------------
Dim strSQLServerName
Dim strSQLDBUserName
Dim strSQLDBPassword
Dim strSQLDBName  
'输入SQL Server的相关信息
strSQLServerName = "localhost"  'SQL Server的服务器名称
strSQLDBUserName = "Xbell"    'SQL Server数据库的用户名
strSQLDBPassword = "Xbell"  'SQL Server数据库的密码
strSQLDBName = "Northwind"     'SQL Server数据库的数据库实例名称

connstr = "Provider=SQLOLEDB;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & ";Password=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"
On Error Resume Next
 Set O_Con = Server.CreateObject("ADODB.Connection")
 O_Con.open connstr
 If Err Then
  err.Clear
  Set O_Con = Nothing
  Response.Write "数据库连接出错,请检查连接字串。"'
  Response.End
 End If
'--------------------------------------------------------------------------------------------------------

你可能感兴趣的:(程序)