当前位置: 首页 > 图文教程 > 网络编程 > ASP > 初试WAP之wml+ASP查询

ASP
将Recordset作为XML保存
在ASP中过滤用户输入 提高安全性
改进 ASP 应用程序中的字符串处理性能
在ASP中使用事务控制
在access中增加农历支持模块
用ADODB.Stream代替FSO读取文本文件
处理运行时间长的脚本以及内容大的主页
用ASP编程实现快速查找
Asp中代码与页面的分离
通过ASP自动解压RAR文件
如何正确处理数据库中的Null
采用XML数据来填充ASP表单
ASP整合的一个SQL语句类
在基于Mozilla的浏览器中使用XMLHttpRequest对象
巧用in关键字实现数据的批量删除
ASP中函数调用对参数的影响
加密处理使密码更安全[CFS编码加密]
ASP错误的几种常规处理方式
在ASP程序中执行SQL语句的安全性问题
ASP实用技巧28则

初试WAP之wml+ASP查询


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 103 ::
收藏到网摘: n/a

 

搞了这么多年计算机,第一次写文章到网上来!见笑了

程序目的:工作需要,查询企业注册资料的朋友太多了,省得麻烦,在网站上增加了查询功能,居然有人说没有电脑,没电脑也该有个手机吧。用手机查询这样随时随地都行,说干就干,做一个WAP查询,全用记事本写的。

数据库结构如下:

库名:data.mdb

表名:info

字段:id 、企业名称、住所、法定代表人……(这个省略号是等等的意思)

一、反馈页面 hello.asp

源码如下:

<%@ Language=VBScript %>
<% Response.ContentType="text/vnd.wap.wml" %>
<?xml version="1.0" encoding="gb2312"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/ wml_1.1.xml">

<wml>

<card id="qycx" title="上饶工商信息网">

<p>
请输入查询资料<input name="qycx" type="text" maxlength="16" />
<anchor title="确定">确定
<go href="qycx.asp" method="post">
<postfield name="qycx" value="$qycx"/>
</go>
</anchor>

<br/><br/>
上饶工商信息网
</p>

</card>

</wml>


二、信息接收 页面 qycx.asp

源码如下:

<%@ Language=VBScript %>
<% Response.ContentType = "text/vnd.wap.wml" %>
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/ wml_1.1.xml">

<wml>
<card id="qycx2" title="上饶工商信息网">

<p>
<%
qycx=request.FORM("qycx")
cx="企业名称 like '%"&qycx&"%' "

Set conn=Server.CreateObject("adodb.connection")
'conn.Open "dsn=qycxsjk;uid=;pwd=;database=data.mdb"
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("qycx.mdb")

sql="select * from info where "&cx&""
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
do while not rs.eof
%>
<%qymc=rs("企业名称")
id=rs("id")

%>

<a href="qycx2.asp?id=<%Response.write id%>" ><%Response.write qymc%></a>

<br/>
<%
rs.movenext
loop
rs.close
%>
<br/><br/>
上饶工商信息网
</p>

</card>

</wml>
<% Function uni(Chinese)
For i = 1 to Len (Chinese)
a=Mid(Chinese, i, 1)
uni=uni & "&#x" & Hex(Ascw(a)) & ";"
next
End Function
%>


=================================================
第二点评:看到这里,我有点汗,刚开始以“企业名称”做为关键字提交,后来才想到以ID为关键字进行查询避免了汉字提交的问题。这么基础一个问题,我居然琢磨了大半天。这里根据hello.asp提交的“企业名称”关键字查询得到所有“企业名称”字段中含有该关键字的企业全称(以免重复),做一个列表,点击将入第三个页面,即该企业详细资料。


三、qycx2.asp

源码如下:

<%@ Language=VBScript %>
<% Response.ContentType = "text/vnd.wap.wml" %>
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/ wml_1.1.xml">


<%
Set conn=Server.CreateObject("adodb.connection")
'conn.Open "dsn=qycxsjk;uid=;pwd=;database=data.mdb"
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("qycx.mdb")
%>

 

<wml>
<card id="qycx3" title="上饶工商信息网">
<p>
<%
name=request.querystring("id")

 

sql="select * from info where id="&name&""

set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
do while not rs.eof
%>
<%qymc=rs("企业名称")%>
企业名称:<%Response.write qymc%>
<br/>

<%zs=rs("住所")%>
住所:<%Response.write zs%>
<br/>

<%fddb=rs("法定代表人")%>
法定代表人:<%Response.write fddb%>
<br/>

<%zczb=rs("注册资本")%>
注册资本:<%
if left(zczb,1)="." then
Response.write "0"
else
end if
Response.write zczb%>万元
<br/>