WAP中ASP传递中文字符查询数据库演示

转载 2007年09月25日 10:54:00
首先我们先预览一下Openwave V7 Simulator和WAPDisplayer V1.5查看实例的效果图。手机采用联通CDMA普天SCP-580调试通过,没有实机拍摄。

Openwave V7 Simulator预览的程序效果图



WAPDisplayer V1.5预览的程序效果图

  程序用到的为Access2000数据库,结构设计如下所示。数据库文件保存为#WAPZJ.mdb,内含一个表,表名为WAPZJ。

按如下内容填写数据库

WAPZJ Id Title Content 1 免费获得正版QuickWAP V1.5 为了感谢大家对WAP之家的支持,只要你在本站发表有效文章累积达到30篇或发表相关类型有效资源达到15个,您还可以发表仅仅2篇的原创QuickWAP软件的技术文章或评测您就可以向管理员申请免费获得正版QuickWAP V1.5一套,,心动了吗?快行动吧! 联系QQ :6500450 Email: wapzj#126.com (把#换成@) 2 本站WAP站开通网络实名:5280 即日,WAP技术门户(www.wapzj.com)与-全球最大中文手机搜索引擎--悠悠村(www.uucun.com)合作,在WAP技术门户旗下网站(wap.wapzj.com)推出了手机搜索功能,,并开通了网络实名:5280,移动用户您只要编辑短信5280发送到169916即可收到WAPPUSH服务信息(免费),点击下载就可以直达我们WAP网站!欢迎大家试用!

Index.asp 用于输入待查询字符的文件。

Index.asp文件代码

<%
Response.ContentType = "text/vnd.wap.wml"
%>
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapfourm.org/DTD/wml_1.1.xml">
<wml>
<head>
<meta http-equiv="Cache-Control" content="max-age=0"/>
<meta http-equiv="Cache-control" content="no-cache" />
</head>
<card id="Search" title="WAP中文字符传递">
<p>
欢迎使用中文WAP搜索<br/>
请输入关键词: <input name="KeyWord" type="text" value="手机" />
<br/>
<do type="accept" label="查询">
<go href="Search.asp" method="post" accept-charset="gb2312">
<postfield name="KeyWord" value="$(KeyWord)" />
</go>
</do>
</p>
</card>
</wml>

Search.asp 用于进行查询,并将结果显示出来的文件。

Search.asp文件代码

<%'###################################################
'程序编写:Bicyle
'修改时间:2005-12-19 10:10
'文件归属:共享
'个人主页:http://wap.bicyle.org
'###################################################%>
<%
Response.ContentType = "text/vnd.wap.wml"
%>
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapfourm.org/DTD/wml_1.1.xml">
<wml>
<head>
<meta http-equiv="Cache-Control" content="max-age=0"/>
<meta http-equiv="Cache-control" content="no-cache" />
</head>
<card id="Login" title="WAP中文字符传递">
<p>
<%
Set Conn=Server.CreateObject("Adodb.Connection")
DBPath = Server.MapPath("#WapZJ.mdb")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
'接收中文字符。
Dim KeyWord
KeyWord=Request("KeyWord")
Dim SQL,Rs
'注意下边的这句sql语句。有时候变量要用'引起来。
SQL = "SELECT * FROM WAPZJ WHERE Title Like '%" & KeyWord & "%'" &" Or Content Like '%" & KeyWord & "%'"
Set Rs = Server.CreateObject("ADODB.RecordSet")
Rs.Open SQL,Conn,1,3
If Rs.EOF then
'对于使用Response.Write输出的语句好像必须要进行UTF-8转码,虽然声明了使用gb2312。
Response.Write Uni("没有结果")
Response.Write "<do type='accept' label='Retry'>"
Response.Write " <go href='Index.asp'/>"
Response.Write "</do>"
Else
Response.Write Uni("标题:") & Uni(Rs("Title")) & "<br/>"
Response.Write Uni("内容:") & Uni(Rs("Content"))
End If
%>
<br/>
<a title="确定" href="Index.asp">重新搜索</a>
</p>
</card>
</wml>
<%
Rs.Close
Set Rs=Nothing
Conn.Close
Set Conn = Nothing
%>
<%
'以下是UTF-8转码的函数
Function Uni(Chinese)
For I = 1 to Len (Chinese)
A=Mid(Chinese, i, 1)
Uni=uni & "&#x" & Hex(Ascw(a)) & ";"
Next
End Function
%> 

  以上程序通过在Index.asp文件中输入需要查询的中文字符,然后通过Post的方式将变量传递给Search.asp文件,通过Request函数接收变量值,再利用Sql语句从数据库字段Title和Content的内容中进行相似查询,如果找到则将显示该条记录,找不到则提示没有结果。

  以上是使用ASP+WML开发的一个中文字符传递在数据库查询中的简单应用,程序采用的是GB2312编码方式,如果您使用QuickWAP那么将可以轻松使用UTF-8的编码方式,您可以参考如下文章。
  QuickWAP轻松解决WAP中文参数传递 
  http://download.enet.com.cn/blog/index.php?itemid=5686&catid=1

注意:
  经过实际测试虽然文件代码已经声明使用GB2312编码方式,但是对于Response.Write输出的中文字符仍然需要UTF-8进行转码。

 

Asp.Net使用DataTable查询数据库数据

DAL层 using System; using System.Collections.Generic; using System.Text; using MODEL; using Syst...

应用ASP.Net在web中查询数据库

将数据库中的数据查询出来,并打印在html页面上 首先创建一个website,在web.config文件中写上连接字符串       -----身份验证方式用的是windows身份验证,...

Asp.net—查询数据库中记录

Asp.net—查询数据库中记录 查询数据库中记录 查询数据库中记录时,首先创建SqlConnection对象连接数据库,然后定义查询字符串,最后对GridView控件进行数据绑定。 示例: ...
  • hbqjzx
  • hbqjzx
  • 2013年01月20日 13:51
  • 9047

Asp.Net使用DataSet查询数据库数据

DAL层 using System; using System.Collections.Generic; using System.Text; using MODEL; using Syst...

ASP.NET查询数据库

关于MySqlCommand的ExecuteNonQuery(),ExecuteScalar(),ExecuteReader方法的区别: 1、ExecuteNonQuery():        顾...
  • zcmain
  • zcmain
  • 2014年01月06日 17:30
  • 881

写了一个查询数据库的程序,不熟的Tomcat6。查询条件为英文时运行正常,为中文时出现乱码。后在tomcap的server.xml中加入useBodyEncodingForURI="true解决了问题

Tomcat的乱码 首先,说说JSP/Servlet中的几个编码的作用。  在JSP/Servlet中主要有以下几个地方可以设置编码,pageEncoding="UTF-8"、cont...

ASP.NET温故而知新学习系列之ASP.NET多线程编程—多线程查询数据库记录

一:前言   二:多线程查询数据库记录实例   一:前言   . 我们假设数据库里有500条记录,每条记录比作一个金条,那就是有500个金条,一个线程比作一个人,一个人取一个金条放置到自己的筐子...
  • ArmyFai
  • ArmyFai
  • 2012年08月27日 13:15
  • 446

java多线程查询数据库

  • 2017年12月04日 13:38
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WAP中ASP传递中文字符查询数据库演示
举报原因:
原因补充:

(最多只允许输入30个字)