永发信息网

ASP编程后浏览时出现insert into语句错误问题,该如何改正代码?

答案:5  悬赏:70  手机版
解决时间 2021-05-14 22:43
  • 提问者网友:山高云阔
  • 2021-05-14 10:53

我的源代码是这样的:

<%

'连接数据库
Set Cn = Server.CreateObject("ADODB.Connection")
StrCnn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="&server.MapPath("userdata.mdb")
Cn.Open StrCnn
'读取数据
sql="select * from userinfo where username='"& request.Form("username") &"'"
set rs=Cn.Execute(sql)
if rs.eof then
'添加数据
a=request.Form("username")
b=md5(request.Form("password"))
c=request.Form("sex")
d=request.Form("age")
e=request.Form("introduction")
f=request.Form("question")
g=request.Form("answer")
h=request.Form("email")
str = "insert into userinfo(username,password,sex,age,introduction,question,answer,email) values ('"&a&"','"&b&"','"&c&"','"&d&"','"&e&"','"&f&"','"&g&"','"&h&"')" <!--这里报错-->
cn.Execute(str)
response.Write("<script language='vbscript'>msgbox ""恭喜你!注册成功!"" </script>" )
response.Write"<a href = '../index.html'>返回登录</a>"
else
response.Write("<script language='vbscript'>msgbox ""您输入的用户名已经存在!请换名注册!"" </script>" )
end if
cn.close
set cn = nothing

%>

但是运行的时候浏览器总是报错,说insert into语句语法错误。但是如果将下面一行的代码cn.Execute(str)删去就不会报错了,但是数据也无法写入数据库了啊!我用的是access数据库!

各位帮帮忙!

最佳答案
  • 五星知识达人网友:轻熟杀无赦
  • 2021-05-14 12:28

('"&a&"','"&b&"','"&c&"',"&d&",'"&e&"','"&f&"','"&g&"','"&h&"')"


把年龄的单引号去掉即可。


然后你cn.Execute(str)插入后,并没有判断是否插入成功所以每次进来都现实注册成功,


要加上 if cn.Execute(str)>0 then


response.Write("<script language='vbscript'>msgbox ""恭喜你!注册成功!"" </script>" )


else


response.Write("<script language='vbscript'>msgbox ""注册失败!"" </script>" )


end if

全部回答
  • 1楼网友:患得患失的劫
  • 2021-05-14 15:13

我自己改好了以后,将它说明一下:事实上,我将字段改少了以后,它就可以正确的插入了,另外,我还将表单中的name改成与数据库中的字段名不一样的了。

  • 2楼网友:往事隔山水
  • 2021-05-14 15:00
str = "insert into userinfo(username,password,sex,age,introduction,question,answer,email) values ('"&a&"','"&b&"','"&c&"',"&d&",'"&e&"','"&f&"','"&g&"','"&h&"')" <!--换成这句-->
  • 3楼网友:污到你湿
  • 2021-05-14 13:52

应该是书库类型的事情,你看看数据库去,年龄那里是字符串吗?我看你插入(很邪恶)时候,用了单引号啊。

  • 4楼网友:想偏头吻你
  • 2021-05-14 13:22
主要检查数据类型是否正确
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯