广西状元:简单asp问题 请问这段代码错在哪里 一直出现缺少end的提示

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/08 07:48:01
<%
afen=request.form("afen")
bfen=request.form("bfen")
snipercardid=request.Form("snipercardid")
sfid=request.Form("sfid")
snipercardid_old=request.Form("snipercardid")
dim conn
dim connstr
dim db
db="guess!@#$%^&()_+.asp"
set rsc=server.createobject("adodb.recordset")
if request.Form("afen")="" or request.Form("bfen")="" then
response.write"您还没有填写比分"
if request.Form("snipercardid")="" or request.Form("sfid")="" then
response.write"资料填写不完整,请重新输入"
if snipercardid_new=snipercardid_old then
response.write"您已经参加过竞猜"
response.end
else
exec="insert into guess(afen,bfen,snipercardid,sfid,tel)values('"+afen+"',"+bfen+",'"+snipercardid+"','"+sfid+"','"+tel+"')"
conn.execute exec
conn.close
set conn=nothing
response.write "成功竞猜!"
end if
end if
end if
%>
<%
afen=request.form("afen")
bfen=request.form("bfen")
snipercardid=request.Form("snipercardid")
sfid=request.Form("sfid")
snipercardid=request.Form("snipercardid")
dim conn
dim rsc
dim connstr
dim db
db="guess!@#$%^&()_+.asp"
set coon=server.createobject("adodb.recordset")
if request.Form("afen")="" or request.Form("bfen")="" then
response.write"您还没有填写比分"
end if
if request.Form("snipercardid")="" or request.Form("sfid")="" then
response.write"资料填写不完整,请重新输入"
end if
set rsc=server.createobject("adodb.recordset")
sqlc="select * from guess"
rsc.open sqlc,conn,1,1
snipercardid_new=rsc("snipercardid")
if snipercardid_new=snipercardid then
response.write"数据已存在"
else
exec="insert into guess(afen,bfen,snipercardid,sfid,tel)values('"&afen&"',"&bfen&",'"&snipercardid&"','"&sfid&"','"&tel&"')"
conn.execute exec
conn.close
set conn=nothing
response.write "成功竞猜!"
response.end
end if
%>

问题:
1、 conn 和rsc都是recordset对象,语句rsc.open sqlc,conn,1,1 是不能成立的;
2、conn应该是connection对象,并且必须有连接数据库的语句;
3、if snipercardid_new=snipercardid then 中的snipercardid变量是空值,条件能够成立吗;
4、rsc.open sqlc,conn,1,1 语句既就是准确的,也不能更新数据库,应该修改为:rsc.open sqlc,conn,3,2

其他没有详细看,你先改改看吧。

其它程序没发现错误,请查看这句是否有错,或改成其它查询方式:
exec="insert into guess(afen,bfen,snipercardid,sfid,tel)values('"&afen&"',"&bfen&",'"&snipercardid&"','"&sfid&"','"&tel&"')"

此外这里应这样写才能正确显示:
if request.Form("afen")="" or request.Form("bfen")="" then
response.write"您还没有填写比分"
response.end
end if
if request.Form("snipercardid")="" or request.Form("sfid")="" then
response.write"资料填写不完整,请重新输入"
response.end
end if

('"+afen+"',"+bfen+",'"+snipercardid+"','"+sfid+"','"+tel+"')"

用&连接字符串
是这个原因不