ADO组件之查询数据记录

2018-09-06 12:08

阅读:349

  首先,了解下原理。
1,提供文本框进行查询内容的输入
2,将查询信息提交页面程序处理
3,程序页主要作用:接受查询信息,根据此信息调用特定的SQL查询语句,得出查询结果并能显示。

其实,主要精髓就是SQL语句的写法上。
之前的提取为select*formwhattablewhereid=id
插入为insertintowhattable(xx_rs)values(content)
删除为deletefromwhattablewhereid=id
修改为updatewhattablesetxx_rs=log_contentwhereid=id
则查询为select*formwhattablewherexx_rslike%wahtkey%

下面通过一个例题来研究下
1,建立数据库zipcode.mdb中的zip表
字段id,类型自动编号(关键字)
字段placename,类型文本
字段province,类型文本
字段zipcode,类型文本
字段borough,类型文本

2,加入数据库信息内容
id自动编号,无需加入
placename对应县市
province对应省份
zipcode对应邮政编码
borough对应区号

3,连接文件conn.asp


<%
db_path=zipcode.mdb
connstr=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=Server.MapPath(db_path)
conn.Openconnstr
%>



4,查询输入页search.asp
<form action=search.asp method=post> <input type=text name=zipcode> <input type=submit name=submit value=search> </form> [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

5,信息查询页,同样是search.asp


<!--#includefile=conn.asp-->
<%
ifrequest.form(submit)=searchthen
whatzip=request.form(zipcode)
Setrs=Server.CreateObject(ADODB.Recordset)
sql=Select*fromzipwherezipcodelike%whatzip%
rs.Opensql,conn,1,1
%>
<%
ifrs.EOFandrs.BOFthen
response.write(未能查到)
else
DoUntilrs.EOF
response.write(<hr>该地址是:rs(placename)rs(zipcode))
response.write(<br>所在省份是:rs(province))
rs.MoveNext
Loop
endif
%>
<br><ahref=search.asp>again</a>
<%
rs.close
Setrs=Nothing
conn.close
setconn=Nothing
else
%>
<formaction=search.aspmethod=post>
<inputtype=textname=zipcode>
<inputtype=submitname=submitvalue=search>
</form>
<%endif%>



以上采用like意思表示进行模糊查询,要精确查询则直接使用
sql=Select*fromzipwherezipcode=%whatzip%

当然通过区号的查询还没添加,你可以自己试着完善,或者来个混合查询、单独查询、模糊查询以及精确查询的大综合了。


评论


亲,登录后才可以留言!