原创ASP打造图书管理系统(access版)(五)
这一节,我们就来讲解这个图书的最后一个关节,查询书籍信息!
看看查询页面的规划

主要可以按照书籍名,分类,出版社,价格,出版日期查询,基本SQL语句的几个功能都可以用到!
好了,大家来看看查询处理页面!
由于这个代码比较复杂我无法界图上来,让我一句句分析给大家听听~!
首先:
set rs=server.createobject("adodb.recordset")
..
..
date33=trim(request("date33"))
date111=date1&"-"&date2&"-"&date3
date222=date11&"-"&date22&"-"&date33
是获取页面传递的值过来的,为什么用request呢,为了自适应,这样有利于分页的时候参数传递!大家过会就明白了~!
date111=date1&"-"&date2&"-"&date3
date222=date11&"-"&date22&"-"&date33
两句的意思就是组合一个日期参数,我用了这么一个笨方法,如果大家有好的方法一定告诉我!价格参数我也是这么传递的!
好了来解决这个查询语句吧~!贴处代码解决!大家不要眼花啊!
if len(bookname)<>0 and booktype<>"不清楚" and len(publishing)<>0 then
sql="select * from xhbook where bookname like '%"&bookname&"%' and booktype='"&booktype&"' and publishing like '%"&publishing&"%' and bookmoney>="&money1&" and bookmoney<="&money2&" and xhdate between #"&date111&"# and #"&date222&"# order by id desc"
end if
意思是如果书名不为空,类别不为不清楚,出版社不为空就执行下面这个SQL..
好了相同的意思,想必大家可以看明白下面3个SQL语句
我就不一句句废话的讲解了!
只得一提的是,大家要了解SQL查询的条件,ID LIKE "%A%"这种模糊查询的方式,这是规范写法,还有通配符%,在ACCESS中是*,大家要牢记啊~~
好了下面开始写这个分页,这个东西当时可是浪费了我好多时间!
dim pagenum,i
i=0
rs.pagesize=5
pagecount1=rs.pagecount
if request.querystring("pagenum")=0 or request.querystring("pagenum")="" then
pagenum=1
else
pagenum=request.querystring("pagenum")
rs.absolutepage=trim(request.querystring("pagenum"))
end if
这段代码和2讲里面的分页原理是相同的,赋值每页显示5条记录!
然后把总野鼠赋值给pagecount1,I的赋值到后面会给大家讲解!
<%
do while not rs.eof and i<=5
%>
对应的
<%
i=i+1
rs.movenext
loop
rs.close
set rs=nothing
%>
大家可以明白I的作用了吧,就是控制循环次数!
好了大家看看这个分页的连接参数传递,比较繁琐,但是每办法必须这么写,首先是首页的连接
response.write "<a href=select.asp?pagenum=1&bookname="&bookname&"&booktype="&booktype&"&publishing="&publishing&"&money1="&money1&"&money2="&money2&"&date1="&date1&"&date2="&date2&"&date3="&date3&"&date11="&date11&"&date22="&date22&"&date33="&date33&">首页</a>"
看明白了吗?主要是逐个的传递参数,原因就是分页后,跳转页面必须传递否则就会出现SQL找不到参数,必会出错!
上页的代码写法一样,把赋值运算写上去就可以了!
response.write "<a href=select.asp?pagenum="&(pagenum-1)&"&bookname="&bookname&"&booktype="&booktype&"&publishing="&publishing&"&money1="&money1&"&money2="&money2&"&date1="&date1&"&date2="&date2&"&date3="&date3&"&date11="&date11&"&date22="&date22&"&date33="&date33&">上一页</a> "
主要功能就显示了,到此这篇教程我就写完了,这2天里面我也学习了不少东西,希望这些可以对大家或者那些新手朋友有帮助吧!
如果大家还对什么程序有兴趣,请来我站点给我留言,如果有时间我还会给大家奉献出好的程序教程!谢谢大家支持,晚安好梦~~~~
