在使用asp 制作网站的时候,经常会遇到一些出错问题,下边我们就把常见的问题总结一些,附加解决办法,跟大家一起分享一下。

Microsoft JET Database Engine 错误 '80040e14'

查询值的数目与目标字段中的数目不同。

/submitarticle.asp,行 11

多了个value
sql="insert into [_SubmitArticle]([title],[content],[byname],[byurl],[date]) values('"&p_title&"','"&p_content&"','"&p_byname&"','"&p_byname&"','"&p_byurl&"','"&p_date&"')"
==================================

Microsoft VBScript 编译器错误 错误 '800a0400'

缺少语句

/include/conn.asp,行 2

option explicit
有可能是重复了
<!--#include file="include/conn.asp"-->
的调用
比如以下两个文件
<!--#include file="include/conn.asp"-->
<!--#include file="siteinfo.asp"-->
siteinfo.asp中有
<!--#include file="include/conn.asp"-->
那么就会出错

也有可能是你没有放在第一行option explitit 只能放在代码中第一行
放在第一行,问题解决,注意,即使是注释一样,不能把注释放在
option explicit的前面,不然会出现上面的错误

====================================

asp INSERT INTO 语句的语法错误
by 是access的保留字
改成其它的问题解决
byname
==========================================

asp 不能使用 '';文件已在使用中。
目录权限或服务器少了写的权限
测试时把Microsoft Access 关了
===========================
如果在添加数据到数据库的时候,页面显示空白,如果是通过act="add"这样类似的来做判断的话那么查下你所定义的变量是不是和下面的一致,比如

action="save.asp?act=add"

到另一页面save.asp
dim act
act=request.querystring("act")
if action="add" (这里和上面的变量不同)

=============================================================


Microsoft VBScript 运行时错误 错误 '800a005e'

无效使用 Null: 'Replace'
数据库存在空值
===========================

Microsoft JET Database Engine 错误 '80004005'

不能使用 '';文件已在使用中。

/conn.asp,行 13

数据库已经打开了
================================


处理URL时出错,请与管理员联系

数据库链接没加上/

<!-- #include file="inc/sqlfiltrate.asp"-->
<%
dim conn,connstr
connstr="DBQ="+server.mappath("这里要加上/ytwagfdcjhvkf_65987123_ 29%.asp")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
'connstr="Driver={sql server};uid=sa;pwd=sa;database=ceoa;server=ce2"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr

If Err Then
Response.Write "数据库连接出错,请检查连接字串。"
'&err.description&ConnStr '
err.Clear
Set Conn = Nothing
Response.End
End If
%>

==========================

Active Server Pages 错误 'ASP 0126'

找不到包含文件

C:INETPUBWWWROOTBACKTALK../include/bkconn.asp,行 1

找不到包含文件 'inc/sqlfiltrate.asp'。


============================================================

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

没有为命令对象设置命令。

/guestbook/index.asp,行 165

      sqlt="update table_content set gb_title='"&savetitle&"',gb_content='"&savecontent&"' where gb_id="&getid
      set rst = conn.Execute(sql)
改为 sqlt
=====================================

ADODB.Recordset 错误 '800a0bb9'

参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。

/admin8899/saveaddpsclass.asp,行 5

没有调用conn,或运行iisreset重启
======================

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]第 1 行: 'from' 附近有语法错误。

/text.asp,行 12

-----------
SQLstr = "Select * from " & gb
Set Rs = OBJConn.Execute (SQLstr)

没有给gb赋值,在前面加上gb="gb"问题解决
==================================================

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

[Microsoft][ODBC Microsoft Access Driver]行中有错误

/admin8899/fkclass.asp,行 102

有(无重复) 改成 有(有重复) 索引中有重复的值,
由于会对索引、主索引键或关联产生重复 
的值,所以不会成功。
=========================================================================
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'

[Microsoft][ODBC Microsoft Access Driver] 由于将在索引、主关键字、或关系中创建重复的值,请求对表的改变没有成功。改变该字段中的或包含重复数据的字段中的数据,删除索引或重新定义索引以允许重复的值并再试一次。

/admin/down_move.asp,行 12

把数据库里和第12行有关的有(无重复)改为 有(有重复) 问题解决
------------------------------------------------------------------

Provider 错误 '80004005' 未指定的错误

不对。这怎么可能是程序的问题呢!问题现象: Provider 错误 '80004005' 未指定的错误 解决方法: 开始->运行regsvr32 jscript.dll (命令功能:修复Java动态链接库) 开始->运行regsvr32 vbscript.dll(命令功能:修复VB动态链接库) 开始->运行iisreset (命令功能:重启IIS)

---------------------------------------------------------

Active Server Pages 错误 'ASP 0116'

丢失脚本关闭分隔符

/1wit/function.asp,行 2

Script 块缺少脚本关闭标记(%>)。

没有加结束标记 %>

--------------------------------------------------------

Microsoft VBScript 运行时错误 错误 '800a01a8'

缺少对象: 'rs'

/guestbook/index.asp,行 301

   rs.close
   set rs=nothing
改为
   'rs.close
   set rs=nothing
----------------------------------------

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

[Microsoft][ODBC Microsoft Access Driver] SELECT 子句中包含一个保留字、拼写错误或丢失的参数,或标点符号不正确。

/guestbook/index.asp,行 124

sql="select from table_content where gb_id="&getid
改为
sql="select * from table_content where gb_id="&getid 问题解决
--------------------------------------------------------------------------------

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

[Microsoft][ODBC Microsoft Access Driver] 标准表达式中数据类型不匹配。

/guestbook/index.asp,行 58


      call checkpsw()
   sql="delete from table_content where gb_id='"&getid&"'"
      set rs = conn.Execute(sql)
改为
sql="delete from table_content where gb_id="&getid
问题解决
----------------------------------------------------------------------------

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

[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 '* form table_content' 中。

/guestbook/index.asp,行 49

上面的form 写错了应该是from
---------------------------------------------------

ADODB.Recordset 错误 '800a0cc1'

在对应所需名称或序数的集合中,未找到项目。

请查看你调用的rs项目是否正确,所调用的rs参数在数据库中找不到

ADODB.Recordset 错误 '800a0cc1'

在对应所需名称或序数的集合中,未找到项目。

rs("字段名")不对

----------------------------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e37'

请确定你的所要执行的数据库表名正确

------------------------------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e10'

[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。

没用给引用的变量加上单引号 ' 如 '"&hy&"' 或 hy='0'

----------------------------------------------------------------------------------------------------------------

多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。

出现这样的错误,一般是因为update进去的数据长度超过了数据库字段的长度或者是数据类型不匹配导致,请留意检查

可以用response.write进行查看

--------------------------------------------------------------------------------------------------------------------

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

[Microsoft][ODBC Microsoft Access Driver] 标准表达式中数据类型不匹配。

查看条件中调用数据库中表或字段的值是否和数据库一至,或没加上双引号或单引号

sql="select top 1 id from product where Products_Move_ID<'"&id&"' order by Products_Move_ID desc"
查看Products_Move_ID是否出错或&id&
----------------------------------------------------------------------------------------------------------------------
ADODB.Recordset 错误 '800a0cc1'

在对应所需名称或序数的集合中,未找到项目。

sql="select top 1 id from product where Products_Move_ID<'"&id&"' order by Products_Move_ID desc"
调用的是idd而上面的是id

--------------------------------------------------------------------------------------------------------------------------
ADODB.Recordset 错误 '800a0bb9'

参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。

没用把conn包括进来
------------------------------------------------------------------------------------------------------------------------------
ADODB.Recordset 错误 '800a0cb3'

当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制。

把conn改为1,3 或3,3

-------------------------------------------------------------------------------------------------------------------------------

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

ODBC 驱动程序不支持所需的属性。

把conn改为1,3或3,3

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

[Microsoft][ODBC Microsoft Access Driver] 由于将在索引、主关键字、或关系中创建重复的值,请求对表的改变没有成功。改变该字段中的或包含重复数据的字段中的数据,删除索引或重新定义索引以允许重复的值并再试一次。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

[Microsoft][ODBC Microsoft Access Driver] Microsoft Jet 数据库引擎找不到输入表或查询 'hpayhelp_type'。 确定它是否存在,以及它的名称的拼写是否正确。

数据库表错了。请查看是否和数据库中的表一至。

-------------------------------------------------------------------------------------------------------------------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e10'

[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。

sql="select * from payhelp_list where type_name="& helpid &" order by id"

没有加上单引号改成这样就行了

sql="select * from payhelp_list where type_name='"& helpid &"' order by id"

---------------------------------------------------------------------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'

[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'GA_Content_ID=' 中。

调用的变量不对

conn.execute "update GenderArticle_Content set recommend='0' where GA_Content_ID="&idd2
如上面的的idd2不对
------------------------------------------------------------------------------------------------------------
Tid=cint(request.QueryString("idd"))
上面的如果中空格
Tid=cint(request.QueryString(" idd "))
就会出现错误。为0
--------------------------------------
ADODB.Recordset 错误 '800a0cc1'

在对应所需名称或序数的集合中,未找到项目。

rs( "Products_Move_ID ")=tid+1
把rs( "Products_Move_ID ")=tid+1的空格去掉改为 rs("Products_Move_ID")=tid+1问题解决
-------------------------------------------------------------------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e10'

[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 2。
sql= "select * from GenderArticle_Content where bigclass in(a,ad) order by GA_Content_ID desc"
如上面的
改为

----------------------------------------------------------------------------------------

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

[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'id in (849,940,931,1103,1092,1083,1157,811,809,831,829,788,1037,1036,1038,1719,,,,,,,,)' 中。
把上面的改为(849,940,931,1103,1092,1083,1157,811,809,831,829,788,1037,1036,1038,1719)问题解决
-----------------
Server.MapPath() 错误 'ASP 0171 : 80004005'

缺少 Path

/admin8899/del_pic.asp,行 78

必须为 MapPath 方法指定 Path 参数

如下程序
'删除大图
case "big"
'删除数据库记录
set rs=server.createobject("adodb.recordset")
id=request.QueryString("id")
sql="select * from product where id="&id
rs.open sql,conn,3,3
rs("bigImg")=cstr(nopic)
rs.update
'删除文件夹下的记录
dim b
b=Server.MapPath(filename)
response.Write(b)
response.End()
if right(a,7)="nothing" then
response.write "<script language=javascript>alert('删除已经被删除过了!');location='productlist.asp';</script>"
response.End()
end if
filename=request("filename")'获取文件路径和文件名
set fso = Server.CreateObject("Scripting.FileSystemObject")'创建FSO对象
if rs("bigImg")="nothing" then
response.write "<script language=javascript>alert('图片已经被删除过了!');location='productlist.asp';</script>"
response.End()
end if
'response.Write(filename)
'response.End()
fso.DeleteFile(Server.MapPath(filename))'删除图片文件
Set fso = nothing '释放fso对象
'重先生成分类产品html
'createsorthtml(id)
response.write "<script language=javascript>alert('删除大图片成功!');location='productlist.asp';</script>"
rs.close
response.end

改为

'删除大图
case "big"
filename=request("filename")'获取文件路径和文件名
'删除数据库记录
set rs=server.createobject("adodb.recordset")
id=request.QueryString("id")
sql="select * from product where id="&id
rs.open sql,conn,3,3
rs("bigImg")=cstr(nopic)
rs.update
'删除文件夹下的记录
dim b
b=Server.MapPath(filename)
response.Write(b)
response.End()
if right(a,7)="nothing" then
response.write "<script language=javascript>alert('删除已经被删除过了!');location='productlist.asp';</script>"
response.End()
end if
filename=request("filename")'获取文件路径和文件名
set fso = Server.CreateObject("Scripting.FileSystemObject")'创建FSO对象
if rs("bigImg")="nothing" then
response.write "<script language=javascript>alert('图片已经被删除过了!');location='productlist.asp';</script>"
response.End()
end if
'response.Write(filename)
'response.End()
fso.DeleteFile(Server.MapPath(filename))'删除图片文件
Set fso = nothing '释放fso对象
'重先生成分类产品html
'createsorthtml(id)
response.write "<script language=javascript>alert('删除大图片成功!');location='productlist.asp';</script>"
rs.close
response.end

---------------------
图片不能更新需要一个记录
正在上传数据库
---------------------
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0x177c Thread 0x29d8 DBC 0x337e024 Jet'。

D:WWWROOTHUELEI88WWWROOTADMIN8899../include/conn.asp ,行 12

数据库名不对
-----------------------------
Microsoft VBScript 编译器错误 错误 '800a0411'
调用<!--#include file="sdfd.asp"-->重复
--------------------------------
Microsoft VBScript 运行时错误 错误 '800a003e'

输入超出了文件尾

----------------------------
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'

[Microsoft][ODBC Microsoft Access Driver] 标准表达式中数据类型不匹配。

/guestbook/index.asp,行 69

   sql="insert into table_content(gb_name, gb_title,gb_content,gb_date,gb_ip) values('"&get_gbname&"','"&get_gbtitle&"','"&get_gbcontent&"','"&get_gbdate&"','"&get_gbip&"')"
   'sql="insert into table_content(gb_name) values('"&get_gbname&"')"
   set rs=conn.execute(sql)

把数据库相关的字段类型修改问题解决