Ms access 错误';80040e07';尝试在Access数据库中添加记录时

Ms access 错误';80040e07';尝试在Access数据库中添加记录时,ms-access,asp-classic,Ms Access,Asp Classic,尝试使用经典ASP在Access中添加记录时出现错误80040e07。昨天代码运行得很好 Microsoft JET数据库引擎错误“80040e07” 条件表达式中的数据类型不匹配 /校友/admin/addvalue.asp,第3行 btitle、bname、baddress、bphone和bpincode字段可以为空,而其他字段为必填字段 我的代码: dim conn、rs、t1、t2、t3、t4、t5、t6、t7、t8、t9、t10、t11、t12、t13、t14、t15、t16、t17、

尝试使用经典ASP在Access中添加记录时出现错误80040e07。昨天代码运行得很好

Microsoft JET数据库引擎错误“80040e07”

条件表达式中的数据类型不匹配

/校友/admin/addvalue.asp,第3行

btitle、bname、baddress、bphone和bpincode字段可以为空,而其他字段为必填字段

我的代码:

dim conn、rs、t1、t2、t3、t4、t5、t6、t7、t8、t9、t10、t11、t12、t13、t14、t15、t16、t17、t18、t19、t20、t21、concat、sqlstr
Set conn=Server.createObject(“ADODB.Connection”)
Set rs=Server.createObject(“ADODB.Recordset”)
conn.open=“Provider=Microsoft.Jet.OLEDB.4.0;数据源=“&Server.MapPath(“\alumn/alumn.mdb”)&”
t1=请求表(“txtfname”)
t2=请求表(“txtlname”)
t3=请求表(“txtprn”)
t4=申请表(“txtbdate”)
t5=申请表(“性别”)
t6=请求表(“txtmail”)
t7=请求表(“txtaddrs”)
t8=请求表(“txtcity”)
t9=请求表(“txtstate”)
t10=请求.form(“txtpincode”)
t11=请求表(“txtpphone”)
t12=请求表(“txtsecphone”)
t13=请求表(“drpdegree”)
t14=申请表(“drppassyear”)
t15=请求表(“txtdesg”)
t16=请求表(“txtcname”)
t17=请求表(“txtcaddr”)
t18=请求表(“txtccity”)
t19=请求表(“txtcstate”)
t20=请求表(“txtcpincode”)
t21=请求表(“txtcphone”)
t22=请求表(“txtcmail”)
concat=t14和t3
如果(t20=”“)那么
t20=0
如果结束
“插入到用户(用户ID、密码、户型、密码、户型、UF名称、UF名称、姓名、姓名、邮政号、截止日期、ugender、电子邮件、地址、城市化、都市化、城市化、都市化、城市化、密码、密码、密码、密码、密码、邮政号、邮政号、邮政号、邮政号、截止日期、铜日期、铜号、铜德、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜色、铜,“&t10&”,”&“t11&”“t12&”“t13&”“t14&”“t15&”“t16&”“t17&”“t18&”“t19&”“t20&”“t21&”“t22&”“)”
write(“这是字符串”&sqlstr)
'response.write(“这是密码”+concat)
“开放”插入到用户(用户ID、密码、密码、户型、户型、姓名、姓名、姓名、姓名、姓名、邮政号、日期、日期、ugender、电子邮件、地址、城市化、城市化、城市化、城市化、城市化、城市化、城市化、密码、密码、密码、密码、密码、密码、密码、邮政编码、邮政编码、邮政编码、邮政编码、邮政编码、邮政编码、邮政、邮政、用户(用户身份识别ID、密码、密码、密码、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户名、用户、用户、用户、用户名、“,”&t10&“,”&康涅狄格州,康涅狄格州,康涅狄格州,康涅狄格州,康涅狄格州,康涅狄格州,康涅狄格州,康涅狄格州,康涅狄格州,康涅狄格州,康涅狄格州,康涅狄格州
JavaScript代码:

var fname='';
var电子邮件=“”;
var passwd='';
警报('hi,+fname+'您的注册表成功。'+'\n您的Id='+email+'\nPassword='+passwd);
window.location=”http://localhost/alumni/default.asp";

如果您使用经典ASP编写Access文件,则上面的代码看起来是用php编写的。您不需要插入ASP,而是需要更新或添加新的。因为建立连接有多种方法,所以我不会进入连接字符串,但您的查询语法应该

例如:

 rs.open "users", conn, 3, 3
 rs.AddNew

 rs("passwd")=request.form("password")
 rs("username")=request.form("username")
 etc...

 rs.update
 rs.close
 conn.close

禁用
rs.open
行,如下所示

'rs.open "insert into users ...
然后在浏览器中打开
addvalue.asp
,复制此行的输出

response.write("this is the string" & sqlstr)
启动Access,创建一个新查询,切换到SQL视图,并将复制的内容粘贴到
sqlstr
的输出中。如果查看SQL语句不能立即澄清数据类型不匹配错误,则必须检查字段列表中每个字段的数据类型,并将其与尝试插入的值进行比较


但是,在ASP代码中,我认为应该使用ADO命令对象,将
INSERT
语句修改为参数查询。然后将这些值与

注意数字字段。当您插入数据库时,不需要使用单引号(“”)。另一方面,在插入字符串时必须使用单引号。插入一个与数据类型匹配的有效数据如果在@polin comment之后现在解决了,请让他知道(像我现在做的那样使用
@
通知),然后他会将此作为您可以接受的答案发布。这是完全有效的经典ASP代码,仅此而已+1就建议而言,
AddNew
有时确实可以让事情变得更简单。