access数据库与ASP连接错误

来源:百度知道 编辑:UC知道 时间:2024/05/21 21:00:38
各位高人,本人有个初学者的问题讨教!
建立了一个通讯录.mdb,在连接过程中出现了如下代码提示错误:

错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。
/web与数据库/S1401.asp, 第 13 行

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

网页:
GET /web与数据库/S1401.asp

不知是何原因,本人已在ODBC系统DSN中建立了数据库的连接,本人系统为XP,IIS已经设置(装的不是原版,而是另外一个盘的),ASP代码如下:

<%@ language="VBScript" %>
<HTML>
<HEAD>
<TITLE>ASP访问Access数据库</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=GB2312">
</HEAD>
<BODY>
<%
Set oConn = Server.CreateObject("ADODB.Connection") ' 定义Connection对象
oConn.Open "DSN=通讯录;UID=;PWD=;" ' 打开数据库连接

Set oRS = Server.CreateObject("ADODB.Recordset") ' 定义Recordset对象
oRS.O

很少人使用数据源连接了,很有局限性,你上传到虚拟主机是人家不可能给你做数据源吧?

使用字符串就行了,连接数据库:

db="db.mdb" '数据库文件位置
connstr="DBQ="+server.mappath(""&db&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr

这就和数据库建立了连接。
读取数据库时就用你那个
Set oRS = Server.CreateObject("ADODB.Recordset")
创建的记录集就行了,例如:

Set oRS = Server.CreateObject("ADODB.Recordset")
oRS.open "sql语句",conn,1,1

conn,1,1这里的参数要根据不同的操作类型进行设定,例如你要对数据库进行修改就是conn,1,3
如果只是读取就用conn,1,1

你补充的问题是因为数据据库路径问题,找不数据库导致的,先确认你的数据库路径是否正确,尽量使用英文,server.mappath("./web与数据库/通讯录.mdb")应该是server.mappath(""./web与数据库/通讯录.mdb"")

Set oRS = Server.CreateObject("ADODB.Recordset") ' 定义Recordset对象
oRS.Open "SELECT 联系人.姓名, 联系人.性别, 联系人.电话, 工作单位.单位名称, 分组.组名 FROM 工作单位 INNER