我写了一个提交表单的网页代码如下:<%@LANGUAGE="VBScript" codepage="936"%><!--#include file="conn.asp"--><%id=request.form("id")department=request.form("department")explain=request.form("explain")username=request.form("username")productname=request.form("productname")producttype=request.form("producttype")spec=request.form("spec")amount=request.form("amount")unit=request.form("unit")remark=request.form("remark")date1=request.form("date1")date2=request.form("date2")username1=request.form("username1")username2=request.form("username2")date3=request.form("date3")set rs=server.createobject("adodb.recordset")sql="insert into scdh (id,department,explain,username,productname,producttype,spec,amount,unit,remark,date1,date2,username1,username2,date3) values ('"id"','"department"','"explain"','"username"','"productname"','"producttype"','"spec"','"amount"','"unit"','"remark"','"date1"','"date2"','"username1"','"username2"','"date3"')"rs.open sql,conn,2,3rs.updaters.closeset rs=nothingconn.closeset rs=nothing%>运行后出现如下提示:Microsoft VBScript 编译器错误 错误 '800a0401' 语句未结束 /scdh/save.asp,行 20 sql="insert into scdh (id,department,explain,username,productname,producttype,spec,amount,unit,remark,date1,date2,username1,username2,date3) values ('"id"','"department"','"explain"','"username"','"productname"','"producttype"','"spec"','"amount"','"unit"','"remark"','"date1"','"date2"','"username1"','"username2"','"date3"')"-------------------------------------------------------------------------------------------------------------------------------------------------------^是哪出错了?我这个是往sql server中添加数据。为什么不行

热心网友

如果字段类型是数值,时间日期型的话,它的变量 两边不要像:'"id"' 这样,用‘’引起来的是字符串类的东西。你的 id,date1,date2,date3 都是字符型的吗?先查查这个吧

热心网友

我还看到conn。closeset rs=nothing你把上面的 set rs=nothing 改成 set conn=nothing如果你在数据库里把date这些设置为时间类型就把上面的sql="insert into scdh (id,department,explain,username,productname,producttype,spec,amount,unit,remark,date1,date2,username1,username2,date3) values ('"id"','"department"','"explain"','"username"','"productname"','"producttype"','"spec"','"amount"','"unit"','"remark"','"date1"','"date2"','"username1"','"username2"','"date3"')"改为,试一试sql="insert into scdh (id,department,explain,username,productname,producttype,spec,amount,unit,remark,date1,date2,username1,username2,date3) values ('&"id"&','&"department"&','&"explain"&','&"username"&','&"productname"&','&"producttype"&','&"spec"&','&"amount"&','&"unit"&','&"remark"&',#"&date1&"#,"&date2&",'"&username1&"','"&username2&"',#"&date3&"#)"或者把要付的值 date1,date2。。。等用date(),这样不用考虑类型了。

热心网友

连接字符串不是这样的,应该用加号连接。sql="insert into scdh (id,department,explain,username,productname,producttype,spec,amount,unit,remark,date1,date2,username1,username2,date3) values ('"+id+"','"+department+"','"+explain+"','"+username+"','"+productname+"','"+producttype+"','"+spec+"','"+amount+"','"+unit+"','"+remark+"','"+date1+"','"+date2+"','"+username1+"','"+username2+"','"+date3+"')"楼上说的不完全正确,即使以字符串传入,SQL SERVER也会根据目标数据类型自动将字符串转换成数值的,但是如果无法转化(包含非数字字符),则会出现错误提示。