美国有哪些公司:Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/26 14:43:26
本人使用的是SQL SERVER数据库,ODBC连接,GbId有值,但是始终出现此提示:

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'

ODBC 驱动程序不支持所需的属性。
user/hfbook.asp,行 15

以下是程序代码(已标行号):
10 <%
11 Dim GbId
12 GbId = request("Id")
13 set rss=server.createobject ("adodb.recordset")
14 sql="select Id,Title from GuestBook where id="&GbId
15 rss.open sql,conn,1,1
16 %>

第15行应该没有问题的呀……请教各位高手了……
本人也曾经试着把第14行改为sql="select Id,[Title] from GuestBook where id="&GbId
但是也不行……
ID参数是有值的,数据库中的ID是自动增加的,为int类型……

两个原因:

1.数据类型不匹配或者字段名错误.检查你的字段名称和类型是否和表里面的一致.

2.你的表是不是在conn所打开的数据库之中.

可以调试一下,在sql = ""..下面写一个:
Response.Write sql
Response.End

然后在页面中取得这条sql语句,放到数据库中执行一下,看看是什么效果.

检查ID Title 的属性是不是有问题。另外conn后面的1'1属性是否正确?
另外通常情况下,15行的问题,都是出在14行身上。

试试GbId = CLng(request("Id"))
或者
试试GbId = CInt(request("Id"))

查检你的ID字段数据类型是否整型,有可能是文本类型造成的
14 sql="select Id,Title from GuestBook where id='"&GbId&"'"

那就是GbId没值了.