标题:Microsoft JET Database Engine (0x80040E07)
只看楼主
fengmnll
Rank: 1
等 级:新手上路
帖 子:79
专家分:3
注 册:2008-11-6
结帖率:85.71%
已结贴  问题点数:5 回复次数:5 
Microsoft JET Database Engine (0x80040E07)
edit_student.asp
 <a href="modify_student.asp?student_id=<%=rs("student_id")%>">修改</a>
modify_student.asp
<%
dim sql,rs,student_id
student_id=request.QueryString("student_id")
sql="select * from student where student_id="&student_id&""
set rs=conn.execute(sql)
%>


Microsoft JET Database Engine (0x80040E07)
标准表达式中数据类型不匹配。congedit_student.asp转到modify_student.asp的时候出现的错误,我设置的student_id是文本型的.谢谢,不知道什么地方出错了呢?

搜索更多相关主题的帖子: Microsoft Engine Database JET 
2010-05-21 09:33
gupiao175
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:40
帖 子:1787
专家分:7527
注 册:2007-6-27
得分:0 
错误是出现在modify_student.asp这个页面的话,根据字面的几行代码,初步估计可能如下:
<%
dim sql,rs,student_id
student_id=request.QueryString("student_id")
sql="select * from student where student_id='"&student_id&"'"
set rs=conn.execute(sql)
%>
文本型需要加单引号,数字型才不需要!

Q:1428196631,百度:开发地 即可找到我,有事请留言!
2010-05-21 10:02
fengmnll
Rank: 1
等 级:新手上路
帖 子:79
专家分:3
注 册:2008-11-6
得分:0 
回复 2楼 gupiao175
恩,刚才那个问题解决了
<!--#include file="conn.asp"-->
<%
 Dim sql,student_id,student_name,age,in_time,sex,major
 student_id=request.Form("student_id")
 student_name=request.Form("student_name")
 age=request.Form("age")
 in_time=request.Form("in_time")
 sex=request.Form("sex")
 homeplace=request.Form("homeplace")
 major=request.Form("major")
 set rs=server.CreateObject("ADODB.Recordset")
sql="update [student] set  student_id='"&student_id&"',student_name='"&student_name&"', sex='"&sex&"' ,age='"&age&"',in_time='"&in_time&"', homeplace='"&homeplace&"' ,major='"&major&"' where student_id="&student_id&""
 conn.execute(sql)
response.write "<script language=javascript>alert(记录添加成功!');history.back(edit_student.asp)</script>"
 response.Redirect("edit_student.asp")
 response.End()  
%>
这个有该怎么修改呢?谢谢版主

2010-05-21 10:11
gupiao175
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:40
帖 子:1787
专家分:7527
注 册:2007-6-27
得分:5 

<!--#include file="conn.asp"-->
<%
Dim sql,student_id,student_name,age,in_time,sex,major
student_id=request.Form("student_id")
student_name=request.Form("student_name")
age=request.Form("age")
in_time=request.Form("in_time")
sex=request.Form("sex")
homeplace=request.Form("homeplace")
major=request.Form("major")
set rs=server.CreateObject("ADODB.Recordset")
sql="update [student] set  student_id='"&student_id&"',student_name='"&student_name&"', sex='"&sex&"' ,age='"&age&"',in_time='"&in_time&"', homeplace='"&homeplace&"' ,major='"&major&"' where student_id="&student_id&""
conn.execute(sql)
response.write "<script language=javascript>alert('记录添加成功!');history.back(edit_student.asp)</script>"
response.Redirect("edit_student.asp")
response.End()  
%>
你这个代码错误何在?如果只从字面上看:
response.write "<script language=javascript>alert('记录添加成功!');</script>"
response.Redirect("edit_student.asp")
缺少一个单引号,后history.back用法错误!不能那么用,其作用是后退,和history.go()作用类似,中间可以跟数字,表示前进后退!具体可以自己去测试!
既然用了后退,后面又跟重导response.Redirect("edit_student.asp"),这点我实在不解,这么做根本没有意义了!

上面的数据库操作你就遵循一个规则:文本型:student_name='"&student_name&"',数字型:age="&age&"
至于字段是什么类型,你自己打开数据库认真看看每个字段,最好把每个字段的类型都用笔记下来!并核对代码里的字段名和数据库里的字段名是否对应!
如次而已,方能把错误几率降到最低!



Q:1428196631,百度:开发地 即可找到我,有事请留言!
2010-05-21 10:41
fengmnll
Rank: 1
等 级:新手上路
帖 子:79
专家分:3
注 册:2008-11-6
得分:0 
回复 4楼 gupiao175
恩好的,谢谢,调试好了
2010-05-21 10:43
魏兴耀
Rank: 8Rank: 8
来 自:江西
等 级:蝙蝠侠
威 望:3
帖 子:246
专家分:840
注 册:2009-11-9
得分:0 
又看到你的贴了,你这个帖利的问题很明显诶
sql="update [student] set  student_id='"&student_id&"',student_name='"&student_name&"', sex='"&sex&"' ,age='"&age&"',in_time='"&in_time&"', homeplace='"&homeplace&"' ,major='"&major&"' where student_id="&student_id&""
看到了吗?我用黑色标出来了,你的in_time是日期型的吗?改成:in_time=#"&in_time&"#,

只有大胆尝试,才有机会得到想要的成功
2010-05-21 10:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-307560-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.253055 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved