为何我的返回结果总是wrong?急的我冒了一身汗
<!--#include file="conn.asp" -->
<%
Response.Buffer = TRUE
Response.ContentType = "text/vnd.wap.wml"
Set MyConn=Server.CreateObject("ADODB.Connection")
MyConn.Open sConn
Set RS=Server.CreateObject("ADODB.Recordset")
aSQL="select * from toys where title like '" & sgkey1 & "' and text like '" & sgkey2 & "' and type like
'娃娃玩偶'" 'sgkey是用户输入的内容,在前面已经定义
rs.open aSQL,myconn,3
if aSQL="" then
sSQL="insert into toys(title,text,contact,type) values('" & sgkey1 & "','" & sgkey2 & "','" & sgkey3 & "','娃娃玩偶' )
"
rs.open sSQL,MyConn,3
backword="insertok"
else
backword="wrong"
end if
%>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="addtoy11" title="<%=c2u("发布新产品")%>">
<p align="center">
<img src="evan.png" alt="易凡软件"/>
<br/><%=c2u("发布结果")%></p>
<p align="left">
<br/><%=backword%><br/><br/></p>
<do type="options" name="prev" label="返回">
<prev/>
</do>
</card>
</wml>
代码的目的是在用户输入时检查数据库里是否已经有该信息,如果没有则添加(即insertok),否则显示wrong,但是我每次运行总是显示wrong,怎么回事呢??
问题点数:20、回复次数:9Top
1 楼rea1gz(冒牌realgz V0.4)回复于 2004-08-03 21:06:17 得分 5
aSQL="select * from toys where title like '" & sgkey1 & "' and text like '" & sgkey2 & "' and type like
'娃娃玩偶'" 'sgkey是用户输入的内容,在前面已经定义
rs.open aSQL,myconn,3
if aSQL="" then
sSQL="insert into toys(title,text,contact,type) values('" & sgkey1 & "','" & sgkey2 & "','" & sgkey3 & "','娃娃玩偶' )
"
rs.open sSQL,MyConn,3
backword="insertok"
else
backword="wrong"
end if
--〉
aSQL="select * from toys where title like '" & sgkey1 & "' and text like '" & sgkey2 & "' and type like
'娃娃玩偶'" 'sgkey是用户输入的内容,在前面已经定义
rs.open aSQL,myconn,3
if rs.RecordCount <= 0 then '改了这里
sSQL="insert into toys(title,text,contact,type) values('" & sgkey1 & "','" & sgkey2 & "','" & sgkey3 & "','娃娃玩偶' )
"
rs.open sSQL,MyConn,3
backword="insertok"
else
backword="wrong"
end if
Top
2 楼rea1gz(冒牌realgz V0.4)回复于 2004-08-03 21:07:15 得分 0
if aSQL="" then
sSQL="insert into toys(title,text,contact,type) values('" & sgkey1 & "','" & sgkey2 & "','" & sgkey3 & "','娃娃玩偶' )
"
--〉
if rs.RecordCount <= 0 then '改了这里
sSQL="insert into toys(title,text,contact,type) values('" & sgkey1 & "','" & sgkey2 & "','" & sgkey3 & "','娃娃玩偶' )
"
Top
3 楼zjcxc(邹建)回复于 2004-08-03 21:08:36 得分 15
if aSQL="" then
sSQL="insert into toys(title,text,contact,type) values('" & sgkey1 & "','" & sgkey2 & "','" & sgkey3 & "','娃娃玩偶' )
"
rs.open sSQL,MyConn,3
backword="insertok"
else
backword="wrong"
end if
-------------------------------------------------------------
改为:
if rs.eof() and rs.bof() then
sSQL="insert into toys(title,text,contact,type) values('" & sgkey1 & "','" & sgkey2 & "','" & sgkey3 & "','娃娃玩偶' )
"
rs.open sSQL,MyConn,3
backword="insertok"
else
backword="wrong"
end ifTop
4 楼qiqilovefeifei(下水道里咆哮的婴儿)回复于 2004-08-03 21:17:20 得分 0
还是不行啊::zjcxc(邹建)
Microsoft VBScript 运行时错误 错误 '800a01c2'
错误的参数个数或无效的参数属性值: 'RS.eof'
Top
5 楼zjcxc(邹建)回复于 2004-08-04 08:55:16 得分 0
'去掉括号.
if rs.eof and rs.bof then
sSQL="insert into toys(title,text,contact,type) values('" & sgkey1 & "','" & sgkey2 & "','" & sgkey3 & "','娃娃玩偶' )
"
rs.open sSQL,MyConn,3
backword="insertok"
else
backword="wrong"
end ifTop
6 楼qiqilovefeifei(下水道里咆哮的婴儿)回复于 2004-08-04 09:23:25 得分 0
郁闷啊,去掉()了返回结果还总是wrong,我崩溃了Top
7 楼qiqilovefeifei(下水道里咆哮的婴儿)回复于 2004-08-04 09:26:38 得分 0
按照: rea1gz(冒牌realgz V0.1) 说的改了rs.RecordCount <= 0结果也还是wrong,我的头发都快扯掉光了!!Top
8 楼zjcxc(邹建)回复于 2004-08-04 13:49:15 得分 0
倒,你的表中有没有数据啊?
把 sSQL的值 print出来,在查询分析器中去执行.Top
9 楼qiqilovefeifei(下水道里咆哮的婴儿)回复于 2004-08-04 16:22:00 得分 0
谢谢大家啊,我自己搞定了,SQL语句按 zjcxc(邹建)说的改过后没错了,错在asp上,在if下面加上一个 rs.close 就行了,rs 不能同时open asql 和 ssql,给发言的每一位同志敬礼!!还好我的头发没掉光。。。Top




