主题:  这里有没有高手啊?很简单的代码却出问题,请解答!

susu_5d

职务:普通成员
等级:1
金币:0.0
发贴:25
#12001/12/20 16:28:56
我想把名字为question的文本内容插入到数据库中:(很简单的代码却总出问题,请解答!)
<%@LANGUAGE="VBSCRIPT"%>
<%
set cn=server.CreateObject ("adodb.connection")
cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=E:\peixun\kchtml\train.mdb"
if request("submit")<>"" then
question=Request("question")
if question="" then
question="您什么也没填"
end if
sql="Insert into question(question) values('"&question&"')"
cn.Execute(sql)
end if

set rs=server.CreateObject("adodb.recordset")
sql="select * from question"
rs.Open sql,cn,1,1
%>
总是说第12行出错,怎么回事?
请高手指教!

编辑历史:[这消息被susu编辑过(编辑时间2001-12-20 16:37:11)]
[这消息被susu编辑过(编辑时间2001-12-21 10:54:05)]
[这消息被wincheer编辑过(编辑时间2001-12-21 22:52:43)]


5D荣誉斑竹

职务:普通成员
等级:2
金币:1.0
发贴:343
#22001/12/21 23:06:07
好像是这一行出错了:
sql="Insert into question(question) values('"&question&"')"
错误的原因是因为字符串连接不正确。请修改为:
sql="Insert into question(question) values("&question&")"

出错的原因还有可能是数据库中存在不允许为空的字段,而你没有为这些字段提供有效值。

另外判断代码看上去有点拖沓,是否可以改成这样:

if request("submit")="" then
question="您什么也没填"
else
question=Request("question")
sql="Insert into question(question) values('"&question&"')"
cn.Execute(sql)
end if

如果依然有问题的话,请把数据库等相关文件发送到我的信箱。