Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21' ODBC 驱动程序不支持所需的属性 的问题怎么解决啊

时间:2022-12-25 09:21:20

浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)

错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC 驱动程序不支持所需的属性。
fun.asp, 第 44 行

fun.asp的内容
<%set rsn=server.createobject("adodb.recordset") 
这里是第44行:rsn.open "select top "&dispnums&" cxn,id,pics,dates from rs_news where tid="&newssbno&" and id<>"&newsid&" ",conn,1 
do while not rsn.eof 
cxn=rsn("cxn") 
id=rsn("id") 
pics=rsn("pics") 
cxn="<a href=newsdisp.asp?id="&id&" target=_blank>"&cxn&"</a>" 
if pics<>"" and len(pics)>5 then cxn=cxn&" (图文)" 
dates=formatdatetime(rsn("dates"),2) 
cxn=cxn&" <font color=#ff0000>"&dates&"</font>" 
%> 

这里是数据库连接
'''''''''''''''''''''''''''''' Access数据库 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
datapath ="../database/" '数据库目录的相对路径 
datafile ="cmsdata.mdb" '数据库的文件名 
Connstr="DBQ="&server.mappath(""&datapath&""&datafile&"")&";DRIVER={Microsoft Access Driver (*.mdb)};" 
SqlNowString="Now()" 
end if 
ver="2005" 
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
'On Error Resume Next 
Set conn=Server.CreateObject("ADODB.Connection") 
conn.open ConnStr 
If Err Then 
err.Clear 
Set Conn = Nothing 
Response.Write "数据库连接出错,请检查连接字串。" 
Response.End 
End If 
On Error GoTo 0 
%> 

其实就是这里有一个ID不能为空的句子,and id<>"&newsid&" 
去是不能去掉这一句,加上这一句后,就会出错,以前数据库里有内,不会出错,我直接打开数据库删除了里面以前的内容后就报错了,通过后台添加上的也没有,还是报错

8 个解决方案

#1


1。你数据库里有没有id字段啊?
2。id字段是什么类型的,如果是字符型,加上单引号

#2


rsn.open "select top "&dispnums&" cxn,id,pics,dates from rs_news where tid="&newssbno&" and id<>"&newsid&" ",conn,1 

多半是这些变量的值为空,或者类型不符合

#3


应该是数据类型出的问题,同意angelyujun(搁浅的鱼@南昌大学)的意见

#4


aner 说得对, 就是当我通过直接打开数据删除里面的记录后,再通过后台添加我要的记录后首页就打不开了就报错了,当我把这一句id<>"&newsid&" 去掉后,首页可以打开了,但是很多东西显示不了了,当我通过直接打开数据库再把源来的记录灰复后,又可以正常显示了不知道是怎么搞的,
哪位朋友原意帮忙的加我QQ啊,
或者大家留个QQ啊,
我的QQ是5860588

#5


我的数据库里面肯定是有ID这个字段的,

#6


哪位朋友可以帮帮我吗,我搞了好几天了都还没搞好头都大了,请高手指点一下

#7


查询语句和数据库表定义的有冲突

#8


朋友可以教教我具休怎么做吗?

#1


1。你数据库里有没有id字段啊?
2。id字段是什么类型的,如果是字符型,加上单引号

#2


rsn.open "select top "&dispnums&" cxn,id,pics,dates from rs_news where tid="&newssbno&" and id<>"&newsid&" ",conn,1 

多半是这些变量的值为空,或者类型不符合

#3


应该是数据类型出的问题,同意angelyujun(搁浅的鱼@南昌大学)的意见

#4


aner 说得对, 就是当我通过直接打开数据删除里面的记录后,再通过后台添加我要的记录后首页就打不开了就报错了,当我把这一句id<>"&newsid&" 去掉后,首页可以打开了,但是很多东西显示不了了,当我通过直接打开数据库再把源来的记录灰复后,又可以正常显示了不知道是怎么搞的,
哪位朋友原意帮忙的加我QQ啊,
或者大家留个QQ啊,
我的QQ是5860588

#5


我的数据库里面肯定是有ID这个字段的,

#6


哪位朋友可以帮帮我吗,我搞了好几天了都还没搞好头都大了,请高手指点一下

#7


查询语句和数据库表定义的有冲突

#8


朋友可以教教我具休怎么做吗?