asp wap出错,模拟器一切正常,手机访问出错

knife_s 2006-09-30 10:07:22
用winwap访问正常

用摩托罗拉手机访问,第一页正常,输入查询条件后,第二页出现500错误,源码如下:

第一页:
<%@ 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" />
型号:<input name="model" type="text" maxlength="16" />
<anchor title="确定">确定
<go href="qycx.asp" method="post">
<postfield name="qycx" value="$qycx"/>
<postfield name="model" value="$model"/>
</go>
</anchor>

<br/><br/>
博云
</p>

</card>

</wml>


第二页:
<%@ 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>
<%
dim SQLServerName
dim SQLDBUserName
dim SQLDBPassword
dim SQLDBName
dim connstr
SQLServerName="192.168.0.1" '数据库服务器名或者IP,本机填“(local)”
SQLDBUserName="sa" '数据库帐号
SQLDBPassword="" '数据库密码
SQLDBName="rossdb" '数据库名称


qycx=request.FORM("qycx")
model = request.FORM("model")
cx=" MMF.Name like '%" & qycx & "%' and Stock.Model1 LIKE '%" & model & "%' order by stock.model1"

Set conn=Server.CreateObject("ADODB.connection")
connstr = "Provider=SQLOLEDB.1;Persist Security Info=False;Server=" & SQLServerName & ";User ID=" & SQLDBUserName & ";Password=" & SQLDBPassword & ";Database=" & SQLDBName & ";"
conn.Open connstr


sql="Select MMF.Name,Stock.Model1 as Model ,Stock.Qty,Stock.Weight,Stock.Indate as BeginDate,Series.Name as SeriesNM FROM Stock,MMF,Locate,Series WHERE MMF.MatID=Stock.MatID AND Stock.LocateID=Locate.LocateID AND MMF.SeriesID=Series.SeriesID AND Stock.Qty<>0 and stock.locateID='101'AND " & cx &""
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
do while not rs.eof
%>
<%qymc=rs("name")%>
牌号:<%Response.write qymc%>
<%
id=rs("model")%>
型号:<%Response.write id%>
<%
qty=rs("qty")%>
重量:<%Response.write qty%>
<%
id=rs("Weight")%>
数量:<%Response.write Weight%>
</p>


<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
%>
...全文
461 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
zy13665886 2007-04-20
  • 打赏
  • 举报
回复
请问你是怎么测试的啊?
为什么我也是ASP写的
但是用openwave测试动态的就会把代码显示出来啊`?
我的IIS都配置好了的
还是没有用
只有静态的显示正常
动态的全都是代码`
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% Function outHTM(str) ' 把字符串进行HTM解码,输出字符串 Dim sTemp sTemp = str outHTM = "" If IsNull(sTemp) Then Exit Function End If sTemp = Replace(sTemp, "'", "'") '还原单引号 sTemp = Replace(sTemp, "&", "&") sTemp = Replace(sTemp, "<", "<") sTemp = Replace(sTemp, ">", ">") sTemp = Replace(sTemp, "$", "$$") sTemp = Replace(sTemp, " ", " ") sTemp = Replace(sTemp, Chr(10), "
") outHTM = sTemp End Function Sql = "SELECT * FROM ly ORDER BY lyid DESC " Set Rs = Server.CreateObject("Adodb.Recordset") Rs.Open Sql,conn,1,3 page = Request.QueryString("Page") Rs.PageSize = 6 '一页6条记录 IF Not IsEmpty(Page) Then IF Not IsNumeric(Page) Then '判断Page是否为数字 Page=1 Else Page=Cint(Page) '转换成短整形Integer End IF IF Page > Rs.PageCount Then Rs.AbsolutePage = Rs.PageCount '设置当前显示页等于最后一页 ElseIF Page <= 0 Then Rs.AbsolutePage = 1 '设置当前页等于第一页 Else Rs.AbsolutePage = Page '如果大于零,显示当前页等于接收的页数 End IF Else Rs.AbsolutePage = 1 End IF Page = Rs.AbsolutePage %> <% Response.ContentType="text/vnd.wap.wml;charset=gb2312" %>

发表新贴
<% For i=1 to Rs.PageSize If Rs.Eof Then Response.Write "没有留言了!
" Exit For End If %> (<%=Rs("lyid")%>) <%=outHTM(Rs("lytitle"))%>
内容:<%=outHTM(Rs("lycontent"))%>
留言者:<%=outHTM(Rs("lyusername"))%>
时间:<%=outHTM(Rs("lytime"))%>
回复:<% if Rs("replay")<>""then Response.Write outHTM(Rs("replay")) else Response.Write "“暂无回复”" end if %>
------
<% Rs.MoveNext Next if page>=Rs.PageCount then 'Response.Write ("[下一页]") else Response.Write("[下一页]") end if if page<=1 then 'Response.Write ("[上一页] ") else Response.Write("[上一页]") end if %>
发表新贴
Jack_Senlan 2006-10-21
  • 打赏
  • 举报
回复
mark
stou 2006-10-21
  • 打赏
  • 举报
回复
學習了.
del000 2006-10-20
  • 打赏
  • 举报
回复
哦,啊啊,原来还有这样的技术啊,感兴趣哦~~~
Unending 2006-10-20
  • 打赏
  • 举报
回复

<%
id=rs("Weight")%>
数量:<%Response.write Weight%>
</p>'这个“</p>”是多余的

另外请不要在WML开头留空行,部分手机比较挑剔,需要保证第一行是<?xml version="1.0"...
knife_s 2006-10-20
  • 打赏
  • 举报
回复
谢谢楼上二位

是由于要说服公司领导对信息化投资,我的设想是C/S+B/S+WAP+电话自动查询,那么无论公司内部网络,外部分公司都可以最大限度的利用信息系统,甚至可以用不支持WEB浏览的手机进行WAP查询和直接电话查询

所以我需要作一个小小的模拟系统来演示,但现在WAP这一块就卡在这儿,不得不请教各位了。

TO Unending(西部来客)

我还是没看出错在哪儿,能明确指出来吗?

TO chlinux(零点)
:),我倒是希望能学习一些新技术。
chlinux 2006-10-19
  • 打赏
  • 举报
回复
补充一点,用opera调试方便些
chlinux 2006-10-19
  • 打赏
  • 举报
回复
因为我对asp不是很熟悉,但我看了程序,提示一下:

1、手机支持的脚本语言是wapscript,但不要在wml页面中体现,不支持javascript/vbscript这样的东西不要在wml页面中输出。
2、看出得你在做联通的业务,虽然多半手机支持GB2312,但个别的手机会偶尔出现乱码,也就是说,支持得不够理想,建议你全转换为utf-8
3、针对你的问题,在手机上测试出现了500错误,肯定是你输出的wml标记不合法了,具体哪里出错了,需要你查一下输出的wml页面的源码(不是指程序源码),注意有些字符不能直接输出到wml页面如 & < > " ' 等等。

希望你会尽快入门,这行还缺人才。
Unending 2006-10-19
  • 打赏
  • 举报
回复
<%
id=rs("Weight")%>
数量:<%Response.write Weight%>
</p>'问题就出在这里,为什么要让我看那么多无聊的语句?


<br/>
<%
knife_s 2006-10-19
  • 打赏
  • 举报
回复
急,顶一下,可以另开贴加分
knife_s 2006-10-10
  • 打赏
  • 举报
回复
用M3GATE第二页不能显示,错误信息为:
Ln 22,Col 1 no
character data is allowed by content model

对应第二页代码
<%@ 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>
<%
dim SQLServerName
dim SQLDBUserName
dim SQLDBPassword
dim SQLDBName
dim connstr
SQLServerName="192.168.0.1" '数据库服务器名或者IP,本机填“(local)”
SQLDBUserName="sa" '数据库帐号
SQLDBPassword="" '数据库密码
SQLDBName="rossdb" '数据库名称


qycx=request.FORM("qycx")
model = request.FORM("model")
cx=" MMF.Name like '%" & qycx & "%' and Stock.Model1 LIKE '%" & model & "%' order by stock.model1"

Set conn=Server.CreateObject("ADODB.connection")
connstr = "Provider=SQLOLEDB.1;Persist Security Info=False;Server=" & SQLServerName & ";User ID=" & SQLDBUserName & ";Password=" & SQLDBPassword & ";Database=" & SQLDBName & ";"
conn.Open connstr


sql="Select MMF.Name,Stock.Model1 as Model ,Stock.Qty,Stock.Weight,Stock.Indate as BeginDate,Series.Name as SeriesNM FROM Stock,MMF,Locate,Series WHERE MMF.MatID=Stock.MatID AND Stock.LocateID=Locate.LocateID AND MMF.SeriesID=Series.SeriesID AND Stock.Qty<>0 and stock.locateID='101'AND " & cx &""
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
do while not rs.eof
%>
<%qymc=rs("name")%>
牌号:<%Response.write qymc%>
<%
id=rs("model")%>
型号:<%Response.write id%>
<%
qty=rs("qty")%>
重量:<%Response.write qty%>
<%
id=rs("Weight")%>
数量:<%Response.write Weight%>
</p>


<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
%>
Unending 2006-10-01
  • 打赏
  • 举报
回复
贴地址出来看看,我可以解决。
明珠佩佩 2006-09-30
  • 打赏
  • 举报
回复
修改数据库服务器的安全设置
knife_s 2006-09-30
  • 打赏
  • 举报
回复
错误是500 服务器错误
有次出现了数据服务器不可用的错误
freelyl 2006-09-30
  • 打赏
  • 举报
回复
错误是500 服务器错误
有次出现了数据服务器不可用的错误


这些都有可能是你WML语法问题。过了WINWAP没用的,它不严格,你用M3GATE过了再跟我们说
knife_s 2006-09-30
  • 打赏
  • 举报
回复
同样试过其它手机,也不可以,第一个页面都可以显示
Koalaly 2006-09-30
  • 打赏
  • 举报
回复
好顶了~~~~娃哈哈
freelyl 2006-09-30
  • 打赏
  • 举报
回复
调手机最好的是OPREA8,
最严格的是M3GATE0.6和1.3

基本上在这二个东西过的代码在手机就过了。
李向荣 2006-09-30
  • 打赏
  • 举报
回复
你的手机上网是不是通过什么代理,可能被过滤。
knife_s 2006-09-30
  • 打赏
  • 举报
回复
to bimyboy
这是什么原因哩?

我想了又想,为啥模拟器正常呢?

安全设置改哪些方面?

分不够到时候开贴再加
请先阅读帮助文档:http://ismyway.com/help [2009.1.1] Ver 3.2.26 ※如果安装提示证书过期或无法安装,请在手机上将时间改为2008.8.8,安装设置完成后再将日期改回即可!※ 增加天语的按键映射 增加三星的背景灯控制功能(该功能未在真机上测试过) 删除图片浏览中的部分功能,由于这部分功能需要较大的内存,导致在大部分手机上无法完成,同时也引起背景图片无法设置成功 触摸屏用户可以不再受滚动条限制,在屏幕上任意地方都可以进行拖动 选择键盘映射为其它时无法再次更改的BUG 用户输入的颜色值无法保存的BUG 修正英文单词分词时会多添加一个空行的BUG 繁体语言措词上的修正 阅读设置中增加一个“文件缓存”选项,默认情况下是开启的,在NOKIA手机上会提高UMD等文件的表现,但由于测试并不充足,如果程序经常在阅读时出错,请关闭该选项(其它手机是否开启该选项并无明显的影响) 修正编辑文件后无法保存的BUG [2008.10.27] Ver 3.2.24 ※如果安装提示证书过期或无法安装,请在手机上将时间改为2008.8.8,安装设置完成后再将日期改回即可!※ 改进的颜色选择方式 允许用户重新选择键盘映射 HTML阅读时的错误 进一步完善编辑功能(仍有少许BUG,请继续反馈,谢谢) 新建文件后自动跳转到编辑中 改进的文件操作方式,速度轻微提升 UMD速度明显提升,并且减少内存占用,特别是在NOKIA手机上,表现提升超过600% 改进的输入框模式,以使得能适应更多的手机如天语等 [2008.10.21] Ver 3.2.23 为了提高运行效率,以下功能在LITE上将被取消(自定义欢迎页问候语;欢迎页背景图) 取消了JAR的支持,提高运行效率 修正打开大ZIP文件时的内存溢出错误 ·修正:  自动滚屏到末尾时,滚屏功能将停止 [2008.10.4] Ver 3.2.22 暂时删除了播放功能及网络相关的功能,由于以上两项功能一直没有能稳定下来,故暂时删除 增强了ZIP功能,支持带文件夹结构的ZIP/JAR文件 (对于大部分JAR电子书都,可以从文件管理器中找到非.class结尾的文件,并且选择打开为UNICODE/TXT阅读) (对于NOKIA手机及其它部分手机,由于安全策略的限制,在Anyview的文件管理器中无法查看后缀为.jar的文件) 自定义问候语(系统路径下dictum.rc文件,格式参见jar包中的dictum.rc文件,保存时使用UTF-8编码,可写条目为0~9/a~z/A~Z,置空时表示不显示问候语) ·修正:  0键在各偏好中切换时亮度混乱的问题  部分手机上无法新建文件夹 [2008.9.11] Ver 3.2.21 修正动画参数无法保存的BUG 动画效果不再对阅读翻页有作用 [2008.8.29] Ver 3.2.21 可将正在阅读的内容通过短信与好友分享 增加一种新的滚屏方式:波浪,同时,阅读时3键不再使用默认的像素滚屏,而会使用最后一次使用的滚屏方式 任何可用的外置字库都可以作为内置字库存在,在jar包中存在dot.font会被当为内置字库加载 加快大文件的打开速度,特别是对于NOKIA手机,S60上,打开20M文件,97%左右的位置不超过15秒 允许用户打开动画效果 ·M600/P990/P1/W950  修正键盘映射时“内存不足”的BUG ·E680/A780  选中后台播放后无法启动的BUG [2008.7.30] Ver 3.2.20 调整部分索爱手机上背景灯控制的逻辑 修正看图片时按0键出错的BUG 旋转屏幕引起的字外出 打开LRC最后出错 阅读到尾部弹出“上一个/下一个”窗口中的文件名过长不刷新的问题 偏好切换时亮度混乱的问题 在NOKIA上,当系统路径设置为根目录是无法启动的BUG E398上可以开关键盘灯 UIQ系统在退出时可以保持亮度 索爱上按“返回”键后导致阅读出现白屏的BUG 阅读时切换屏幕方向导致字体超出屏幕的BUG 欢迎屏幕上的日期使用中文显示 如果使用触屏手机,跳转改为进度条模式,以方便触屏操作 系统路径下如果存在bg.png文件,则会作为欢迎界面的背景图片显示(右下角) 减少跳转及翻页中出现乱码的机率 提高阅读时绘图效率,滚屏效率同样提高 播放时,暂停会导致声音爆至最大的BUG 内置“忘记月亮”制作的两款主题《典雅红》《黑橙》,并且更换主题不再要求退出 文件管理器中支持“剪切”功能 文件管理器中新增转换UMD为TXT的功能(解开操作,解开2无效!) 增加了编辑功能(尽管没有限制文件大小,但请别编辑过大的文件,另外,为了提高速度,不进行全文排版,有时候表现可能会有些不习惯),以后会进一步完善 启动时,会自动识别NOKIA、SONYER

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧