|
阅读:5438回复:5
遇到显示Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)的情况怎么办?
老师让做个同学录系统,过几天就交了。今天整了一份,可是在添加,修改和删除的时候,总是显示
HTTP 错误 500.100 - 内部服务器错误 - ASP 错误 Internet 信息服务 -------------------------------------------------------------------------------- 技术信息(用于支持人员) 错误类型: Microsoft OLE DB Provider for ODBC Drivers (0x80040E21) ODBC 驱动程序不支持所需的属性。 /2/delnews.asp, 第 9 行 浏览器类型: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) 网页: GET /2/delnews.asp 时间: 2005年1月9日, 20:40:24 ———————————————————————————————————————————————————————————— 源代码如下,求哪位达人帮我看看毛病出在哪,谢谢了。 <% IID=request("id") dim name,pwd,email,person dim sql dim rs set rs=server.createobject("adodb.recordset") conn = "DBQ=" + server.mappath("mydb.mdb") + ";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" sql = "DELETE FROM mytable WHERE id="+IID rs.Open sql,conn,1,1 <--------就是这句有问题,其他的也是这行出问题 set rs=nothing response.write "<script language=JavaScript>" & chr(13) & "alert('同学信息已经删除!');"&"window.location.href = 'index.asp'"&" </script>" %> 忘了说了:我的系统是WINXP+SP2,会不会和系统有关系? -------------------- -------------------- 人生就像一场戏,只是这场戏没有经过彩排,天天都是现场直播! [ 2005-01-09 20:50:49 Gadgetzq 修改 ] |
|
|
|
1C#
发布于:2005-01-10 18:47
Re:遇到显示Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)的情况怎么办?
delete 语句不能用 rs.open 来运行,要用 conn.execute 来运行
--------------------
我就是我,松柏!
日志:http://songbai.blog.wait4c.com/ |
|
|
|
2C#
发布于:2005-01-10 23:47
Re:遇到显示Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)的情况怎么办?
Delete好像可以用rs.Open方法执行。我已在本机测试过(XPsp1 IIS5.1),但不知道不同环境会如何。
另外你的代码在我的机器上运行就不会出错,记录删掉了。 所以我觉得是你SQL的问题,也就是数据库字段类型不匹配的问题。 试试看: 1。先改为rs.Open sql,conn,1,3; 改为rs.Open sql,conn,1,3错误提示会更清楚些。 2。看看你的数据库id字段是数字型还是文本性?如果是文本型"........id='" + IID + "'" -------------------- 因我的生命就有若微尘,躺卧于街头或结伴同行,也不介意做个自由人,无必须要紧。
[ 2005-01-11 00:01:25 灭绝师太 修改 ] |
|
|
|
3C#
发布于:2005-01-11 19:42
Re:遇到显示Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)的情况怎么办?
感谢二位达人的帮助,可是我按照你们的方法去做,还是不行,我觉得可能是系统的事。
--------------------
--------------------
人生就像一场戏,只是这场戏没有经过彩排,天天都是现场直播! |
|
|
|
4C#
发布于:2005-01-11 21:45
Re:遇到显示Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)的情况怎么办?
你看看你的数据库文件有没有 everyone 可写或者 IUSR_机器名 可写的权限。
运行 SQL 语句还是建议用 Execute 来运行,这样看着清晰一些。 -------------------- 我就是我,松柏! 日志:http://songbai.blog.wait4c.com/ |
|
|
|
5C#
发布于:2005-01-12 14:28
Re:遇到显示Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)的情况怎么办?
看看分区属性的“安全”选项
如果你的磁盘分区是ntfs,那么你将整个分区的权限改为everyone 对数据库操作如果代码没有问题 那最大的可能就是权限问题呵呵 不知道说对没 |
|
|
[ 2005-01-11 00:01:25 灭绝师太 修改 ]