XDownPage2.10使用简单例子(sqlserver)
2006-11-15 20:39
525 查看
asp分页基础类XDownPage2.0只支持oracle,而 2.10已经能够支持sqlserver了。本例将演示XDownPage2.10对于sqlserver数据库的分页方法。
1 , 分页程序代码
请详见另一篇文章:http://blog.csdn.net/precipitant/archive/2006/11/15/1386541.aspx
2 , conn.asp(数据库连接相关的程序)
'==================================================
' 数据库访问
'==================================================
'建立数据库连接
dim conn '数据库连接对象
set conn=server.createobject("ADODB.CONNECTION")
sub openConn
connstr="Provider=sqloledb;Data Source=127.0.0.1;Initial Catalog=it;User Id=it_manage;Password=it_manage;"
conn.open connstr
end sub
'清除数据库连接
sub CloseConn
conn.Close()
set conn=nothing
end sub
'关闭打开的记录集
sub CloseRS(byref recordset)
recordset.close()
set recordset=nothing
end sub
'获得当前虚拟目录的名字
function getRoot()
url=Request.ServerVariables("URL")
url=right(url,len(url)-1)
getRoot= mid(url,1,instr(url,"/")-1)
end function
'---------------- 数据库排序 start ---------------------------
sImageDir = "/" & getRoot() & "/images/" '图片路径
upOrderFlag = "<img border=0 src='" &sImageDir & "sort_asc.gif'>" '升序排列显示图标
downOrderFlag = "<img border=0 src='" &sImageDir & "sort_desc.gif'>" '降序排列显示图标
'获得当前连接的排序方向
function getOrderDir(fn,ofn,oDir)
dim tDir
tDir="desc"
if(lcase(fn)=lcase(ofn)) then
if(lcase(oDir)="asc") then
tDir="desc"
else
tDir="asc"
end if
end if
getOrderDir=tDir
end function
'书写排序指示图标
function writeOrderDir(fn,ofn,oDir)
dim tDir
if(lcase(fn)=lcase(ofn)) then
if(lcase(oDir)="asc") then
tDir=UpOrderFlag
else
tDir=downOrderFlag
end if
end if
writeOrderDir=tDir
end function
'添加排序列头
sub WriteOrderHeader(pHeaderTitle,pOrderField,tOrderField,tOrderDir)
Response.Write "<span onclick=""gotoOrder('" & pOrderField & "','" & getOrderDir(pOrderField,tOrderField,tOrderDir) & "')"" class='noticetitle' style='width:90%;cursor:default'>" & pHeaderTitle & " " & writeOrderDir(pOrderField,tOrderField,tOrderDir) & "</span>"
end sub
'---------------- 数据库排序 end ---------------------------
3 , main.asp(主程序)
<!--#include file="../../inc/conn.asp"-->
<!--#include file="../../inc/pagination.asp"-->
<%...
'故障类别管理
'writer:northsnow
'create date :051211
%>
<script language="javascript">...
//执行查询前将查询条件写到隐藏表单
function query()
...{
var oFormHidden=document.frmHidden;
if(!oFormHidden) return false;
oFormHidden.currentpage.value="";
oFormHidden.flag.value="query";
oFormHidden.err_type_name.value=frmList.err_type_name.value;
oFormHidden.err_type_code.value=frmList.err_type_code.value;
oFormHidden.submit();
}
//重置查询条件
function myreset()
...{
frmList.err_type_name.value="";
frmList.err_type_code.value="";
}
//执行动态排序
function gotoOrder(uOrderField,uOrderDir)
...{
frmHidden.currentpage.value="1";
frmHidden.flag.value="query";
frmHidden.orderField.value=uOrderField;
frmHidden.orderDir.value=uOrderDir;
frmHidden.submit();
}
}
</script>
<%... 'on error resume next
'获取参数
dim err_type_name,err_type_code
dim currentpage,flag,pagesize,rsTotalCount,orderDir,orderField
currentpage=trim(request.form("currentpage"))
div_p=trim(request("div_p"))
flag=trim(request("flag"))
pagesize=trim(request("pagesize"))
rsTotalCount=trim(request("rsTotalCount"))
orderDir=trim(Request("orderdir"))
orderField=trim(Request("orderfield"))
err_type_code=trim(request("err_type_code"))
err_type_name=trim(request("err_type_name"))
%>
<span class="titlestyle">>> 故障类别管理</span>
<!--下面是查询框-->
<div align=center><span id="qSpan">
<fieldset style="width:100%;padding:'2px 2px'" align="center" class="border">
<legend class="border" align=right style="border:0px">
<a href="#" onclick="javascript:query()" tabindex="1">查询</a>|
<a href="#" onClick="javascript:myreset()" >重置</a>
</legend>
<table width="100%" align="center" ID="Table1">
<tr ><form name="frmList" action="#" method="post" ID="Form1">
<td valign="middle" align="center" >
<table width="100%" border="0" cellspacing="0" cellpadding="0" ID="Table2">
<tr>
<td align="center" width="50%">类别代码:
<input name="err_type_code" type="text" class="line" maxlength="4" value="<%=err_type_code%>" ID="Text1"></td>
<td align="center" width="50%">类别名称:
<input name="err_type_name" type="text" class="line" value="<%=err_type_name%>" size="22" ID="Text2"></td>
</tr>
</table>
</td>
</tr></form>
</table>
</fieldset></span>
<table width=100% align=center border="0" cellpadding="0" cellspacing="0" ID="Table3">
<form name="manForm" ID="Form2"><tr><td align=center valign=top>
<table border="0" width="100%" cellspacing="0" cellpadding="0" ID="Table4">
<%...
'定义记录集对象
set rs=server.CreateObject("adodb.recordset")
rs.CursorLocation=3 '定义记录集的属性
if pagesize="" then pagesize=15 '定义默认页大小
'//形成查询条件串
strOption="where 1=1"
if err_type_code<>"" then
strOption=strOption & " and err_type_code='"&err_type_code&"'"
end if
if err_type_name<>"" then
strOption=strOption & " and err_type_name like '%"&err_type_name&"%'"
end if
'形成排序串
strOrder=""
if orderField<>"" then
strOrder=" order by " & orderField
if orderDir<>"" then strOrder=strOrder & " " & orderDir
end if
if strOrder="" then strOrder=" order by err_type_code asc"
'连接数据库
Call OpenConn()
Set mypage=new xdownpage '创建分页类对象
mypage.getconn=conn '得到数据库连接
mypage.pagesize=pagesize '设置每一页的记录条数据为5条
mypage.totalRecordCount=rsTotalCount '传递总记录数,分页的时候不用每次都去查一次
'创建查询语句 (这个是sqlserver与oracle特别的地方
'参数讲解: 表或视图,查询的列的列表,条件串,排序串,关键字字段
mypage.CreateSql_MSSQL "err_type","*",strOption,strOrder,"err_type_code"
'生成分页和导航表单
mypage.GetSubmitForm="frmHidden"
Response.write(mypage.GetSubmitForm1())
'执行查询并返回结果
set rs=mypage.getrs() '返回Recordset
%>
<tr height="28">
<td align="left" width="400" valign="top">
<table cellspacing="1" class="tableBorder1" cellpadding=0 bordercolordark=#FFFFFF width="100%" bordercolorlight=#014E4B ID="Table5">
<tr height="25">
<td valign="center" align="left" width="20%" class="noticetitle" background="../../images/topbg.gif" nowrap>
<%...WriteOrderHeader "类别代码","err_type_code",OrderField,OrderDir '写列头,并使该列可以实现单击排序功能%></td>
<td valign="center" align="left" width="70%" class="noticetitle" background="../../images/topbg.gif" nowrap>
<%WriteOrderHeader "类别名","err_type_name",OrderField,OrderDir%></td>
</tr>
<%...i=1
do while not rs.EOF %>
<tr <% if i mod 2=0 then %> class="tr2" <%...else %> class="tr1" <%...end if %> >
<td height="23" align="center" valign="top" ><%=rs("err_type_code")%></td>
<td height="23" align="center" ><%=FilterParam3(rs("err_type_name"))%></td>
<td height="23" align="center">
</tr>
<%... i=i+1
rs.MoveNext
loop%>
</table>
</td>
</tr>
<tr><td colspan=3><%... mypage.showpage() '显示导航条%>
<%mypage.ShowPageSizeChange() '显示更改页大小的列表%></td></tr>
</table>
<td></tr></form><%
Rs.Close()
set rs=nothing
CALL CLOSECONN()%>
</table>
<!--隐藏表单,用于页面导航和查询。是分页类完成分页必须的-->
<form name="frmHidden" method="get" action="#" ID="Form3">
<input type="hidden" name="sys_handle" value="<%=sys_handle%>" ID="Hidden1">
<input type="hidden" id="div_p" name="div_p" value="<%=div_p%>">
<input type="hidden" name="flag" value="" ID="Hidden7">
<input type="hidden" name="pagesize" value="<%=pagesize%>" ID="1">
<input type="hidden" name="currentpage" value="<%=currentpage%>" ID="Hidden8">
<input type="hidden" name="rsTotalCount" value="<%=rsTotalCount%>" ID="2">
<input type="hidden" name="orderField" value="<%=orderField%>" ID="Hidden9">
<input type="hidden" name="orderDir" value="<%=orderDir%>" ID="Hidden10">
<input type="hidden" name="err_type_name" value="<%=err_type_name%>" ID="Hidden12">
<input type="hidden" name="err_type_code" value="<%=err_type_code%>" ID="Hidden13">
</form>
</body>
</html>
1 , 分页程序代码
请详见另一篇文章:http://blog.csdn.net/precipitant/archive/2006/11/15/1386541.aspx
2 , conn.asp(数据库连接相关的程序)
'==================================================
' 数据库访问
'==================================================
'建立数据库连接
dim conn '数据库连接对象
set conn=server.createobject("ADODB.CONNECTION")
sub openConn
connstr="Provider=sqloledb;Data Source=127.0.0.1;Initial Catalog=it;User Id=it_manage;Password=it_manage;"
conn.open connstr
end sub
'清除数据库连接
sub CloseConn
conn.Close()
set conn=nothing
end sub
'关闭打开的记录集
sub CloseRS(byref recordset)
recordset.close()
set recordset=nothing
end sub
'获得当前虚拟目录的名字
function getRoot()
url=Request.ServerVariables("URL")
url=right(url,len(url)-1)
getRoot= mid(url,1,instr(url,"/")-1)
end function
'---------------- 数据库排序 start ---------------------------
sImageDir = "/" & getRoot() & "/images/" '图片路径
upOrderFlag = "<img border=0 src='" &sImageDir & "sort_asc.gif'>" '升序排列显示图标
downOrderFlag = "<img border=0 src='" &sImageDir & "sort_desc.gif'>" '降序排列显示图标
'获得当前连接的排序方向
function getOrderDir(fn,ofn,oDir)
dim tDir
tDir="desc"
if(lcase(fn)=lcase(ofn)) then
if(lcase(oDir)="asc") then
tDir="desc"
else
tDir="asc"
end if
end if
getOrderDir=tDir
end function
'书写排序指示图标
function writeOrderDir(fn,ofn,oDir)
dim tDir
if(lcase(fn)=lcase(ofn)) then
if(lcase(oDir)="asc") then
tDir=UpOrderFlag
else
tDir=downOrderFlag
end if
end if
writeOrderDir=tDir
end function
'添加排序列头
sub WriteOrderHeader(pHeaderTitle,pOrderField,tOrderField,tOrderDir)
Response.Write "<span onclick=""gotoOrder('" & pOrderField & "','" & getOrderDir(pOrderField,tOrderField,tOrderDir) & "')"" class='noticetitle' style='width:90%;cursor:default'>" & pHeaderTitle & " " & writeOrderDir(pOrderField,tOrderField,tOrderDir) & "</span>"
end sub
'---------------- 数据库排序 end ---------------------------
3 , main.asp(主程序)
<!--#include file="../../inc/conn.asp"-->
<!--#include file="../../inc/pagination.asp"-->
<%...
'故障类别管理
'writer:northsnow
'create date :051211
%>
<script language="javascript">...
//执行查询前将查询条件写到隐藏表单
function query()
...{
var oFormHidden=document.frmHidden;
if(!oFormHidden) return false;
oFormHidden.currentpage.value="";
oFormHidden.flag.value="query";
oFormHidden.err_type_name.value=frmList.err_type_name.value;
oFormHidden.err_type_code.value=frmList.err_type_code.value;
oFormHidden.submit();
}
//重置查询条件
function myreset()
...{
frmList.err_type_name.value="";
frmList.err_type_code.value="";
}
//执行动态排序
function gotoOrder(uOrderField,uOrderDir)
...{
frmHidden.currentpage.value="1";
frmHidden.flag.value="query";
frmHidden.orderField.value=uOrderField;
frmHidden.orderDir.value=uOrderDir;
frmHidden.submit();
}
}
</script>
<%... 'on error resume next
'获取参数
dim err_type_name,err_type_code
dim currentpage,flag,pagesize,rsTotalCount,orderDir,orderField
currentpage=trim(request.form("currentpage"))
div_p=trim(request("div_p"))
flag=trim(request("flag"))
pagesize=trim(request("pagesize"))
rsTotalCount=trim(request("rsTotalCount"))
orderDir=trim(Request("orderdir"))
orderField=trim(Request("orderfield"))
err_type_code=trim(request("err_type_code"))
err_type_name=trim(request("err_type_name"))
%>
<span class="titlestyle">>> 故障类别管理</span>
<!--下面是查询框-->
<div align=center><span id="qSpan">
<fieldset style="width:100%;padding:'2px 2px'" align="center" class="border">
<legend class="border" align=right style="border:0px">
<a href="#" onclick="javascript:query()" tabindex="1">查询</a>|
<a href="#" onClick="javascript:myreset()" >重置</a>
</legend>
<table width="100%" align="center" ID="Table1">
<tr ><form name="frmList" action="#" method="post" ID="Form1">
<td valign="middle" align="center" >
<table width="100%" border="0" cellspacing="0" cellpadding="0" ID="Table2">
<tr>
<td align="center" width="50%">类别代码:
<input name="err_type_code" type="text" class="line" maxlength="4" value="<%=err_type_code%>" ID="Text1"></td>
<td align="center" width="50%">类别名称:
<input name="err_type_name" type="text" class="line" value="<%=err_type_name%>" size="22" ID="Text2"></td>
</tr>
</table>
</td>
</tr></form>
</table>
</fieldset></span>
<table width=100% align=center border="0" cellpadding="0" cellspacing="0" ID="Table3">
<form name="manForm" ID="Form2"><tr><td align=center valign=top>
<table border="0" width="100%" cellspacing="0" cellpadding="0" ID="Table4">
<%...
'定义记录集对象
set rs=server.CreateObject("adodb.recordset")
rs.CursorLocation=3 '定义记录集的属性
if pagesize="" then pagesize=15 '定义默认页大小
'//形成查询条件串
strOption="where 1=1"
if err_type_code<>"" then
strOption=strOption & " and err_type_code='"&err_type_code&"'"
end if
if err_type_name<>"" then
strOption=strOption & " and err_type_name like '%"&err_type_name&"%'"
end if
'形成排序串
strOrder=""
if orderField<>"" then
strOrder=" order by " & orderField
if orderDir<>"" then strOrder=strOrder & " " & orderDir
end if
if strOrder="" then strOrder=" order by err_type_code asc"
'连接数据库
Call OpenConn()
Set mypage=new xdownpage '创建分页类对象
mypage.getconn=conn '得到数据库连接
mypage.pagesize=pagesize '设置每一页的记录条数据为5条
mypage.totalRecordCount=rsTotalCount '传递总记录数,分页的时候不用每次都去查一次
'创建查询语句 (这个是sqlserver与oracle特别的地方
'参数讲解: 表或视图,查询的列的列表,条件串,排序串,关键字字段
mypage.CreateSql_MSSQL "err_type","*",strOption,strOrder,"err_type_code"
'生成分页和导航表单
mypage.GetSubmitForm="frmHidden"
Response.write(mypage.GetSubmitForm1())
'执行查询并返回结果
set rs=mypage.getrs() '返回Recordset
%>
<tr height="28">
<td align="left" width="400" valign="top">
<table cellspacing="1" class="tableBorder1" cellpadding=0 bordercolordark=#FFFFFF width="100%" bordercolorlight=#014E4B ID="Table5">
<tr height="25">
<td valign="center" align="left" width="20%" class="noticetitle" background="../../images/topbg.gif" nowrap>
<%...WriteOrderHeader "类别代码","err_type_code",OrderField,OrderDir '写列头,并使该列可以实现单击排序功能%></td>
<td valign="center" align="left" width="70%" class="noticetitle" background="../../images/topbg.gif" nowrap>
<%WriteOrderHeader "类别名","err_type_name",OrderField,OrderDir%></td>
</tr>
<%...i=1
do while not rs.EOF %>
<tr <% if i mod 2=0 then %> class="tr2" <%...else %> class="tr1" <%...end if %> >
<td height="23" align="center" valign="top" ><%=rs("err_type_code")%></td>
<td height="23" align="center" ><%=FilterParam3(rs("err_type_name"))%></td>
<td height="23" align="center">
</tr>
<%... i=i+1
rs.MoveNext
loop%>
</table>
</td>
</tr>
<tr><td colspan=3><%... mypage.showpage() '显示导航条%>
<%mypage.ShowPageSizeChange() '显示更改页大小的列表%></td></tr>
</table>
<td></tr></form><%
Rs.Close()
set rs=nothing
CALL CLOSECONN()%>
</table>
<!--隐藏表单,用于页面导航和查询。是分页类完成分页必须的-->
<form name="frmHidden" method="get" action="#" ID="Form3">
<input type="hidden" name="sys_handle" value="<%=sys_handle%>" ID="Hidden1">
<input type="hidden" id="div_p" name="div_p" value="<%=div_p%>">
<input type="hidden" name="flag" value="" ID="Hidden7">
<input type="hidden" name="pagesize" value="<%=pagesize%>" ID="1">
<input type="hidden" name="currentpage" value="<%=currentpage%>" ID="Hidden8">
<input type="hidden" name="rsTotalCount" value="<%=rsTotalCount%>" ID="2">
<input type="hidden" name="orderField" value="<%=orderField%>" ID="Hidden9">
<input type="hidden" name="orderDir" value="<%=orderDir%>" ID="Hidden10">
<input type="hidden" name="err_type_name" value="<%=err_type_name%>" ID="Hidden12">
<input type="hidden" name="err_type_code" value="<%=err_type_code%>" ID="Hidden13">
</form>
</body>
</html>
相关文章推荐
- XDownPage2.0使用简单例子一
- SQLServer 在存储过程里使用事务控制的简单小例子
- 使用XFire开发WebService的简单例子
- 如何使用Eclipse最简单地配置其他语言的IDE环境:例子-Python
- 在.Net开发中使用AnyChart的简单例子(下)
- 使用 CXF 做 webservice 简单例子
- c# 学习笔记之九 事件(event)的使用,一个简单例子揭示机理
- memcached 的容易命令和Java 使用 memcached 的简单例子
- MyBatis使用接口映射的简单HelloWorld小例子
- xdoclet与Ant结合使用-简单例子
- okhttp的简单使用例子
- 一个最简单的使用Entity Framework 查询SQL 数据库的例子
- Windows 7下安装Osmosis以及简单的使用例子
- 关于使用PRO*C编程的一些简单说明和例子
- Spring中配合hibernate使用的简单例子
- 简单控件使用--计算BMI的例子
- Spring MVC:使用SimpleUrlHandlerMapping的一个简单例子
- 一个java生成与使用WebService的简单例子
- 使用 CXF 做 webservice 简单例子
- springboot 中使用websocket简单例子