asp问题,请高手指点!!!

来源:百度知道 编辑:UC知道 时间:2024/05/28 21:12:14
技术信息(用于支持人员)

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

浏览器类型:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727; CIBA)
网页:
GET /WORKGUAN.ASP
WORKGUAN.ASP代码如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file=DataBase/conn.asp-->
<!--#include file=yan.asp-->
<!--#include file=purview.asp-->
<%
call guanligongzuo
'删除任务
if request("del")<>"" then
sqld="delete from tb_Work where id="&request("del")
conn.execute(sqld)
end if

'显示工作任务
set rs=server.CreateObject("adodb.recordset")
sql="select * from tb_Work order by id desc"
rs.open sql,conn,1,1
'是否显示布置工作任务
set rsde=server.Creat

Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC 驱动程序不支持所需的属性。

一般是由SQL语句错误造成的。

sqlb="select * from tb_Employee where id="&rs("wanchengzhe")
rsb.open sqlb,conn,1,1
set rsm=server.CreateObject("adodb.recordset")
sqlm="select * from tb_Dept where id="&rsb("suoshu")
rsm.open sqlm,conn,1,1(第41行)

41行执行的SQL语句 sqlm 中,where id=后面的值是上一个记录集(rsb)查询出来的,你上一个记录集(rsb)查询出来的结果可能为空,也可能是rsb("suoshu")的数据类型与tb_Dept表id字段不一样(不是数值型)

楼主用的是不是access??

如果是的话,建议用下面这种链接数据库的方式
Connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.MapPath("xxx")&";User ID=;Password=;"

rsb("suoshu") 的值可能是空的或者不是数字型就会如此出错,建议在41行之前输入
response.write rsb("suoshu")
response.end
看看是否空的,如果不是空的,那你就强行转一下类型,用clng(rsb("suoshu") )

rsm.open sqlm,conn,1,1 改成rsm.open sqlm,conn,1,3再试试

是否数据库连接时使用的驱