新手问个小问题
我刚学ASP不久,今天按照教材里的例题做了一个ASP文件和一个数据库,那ASP文件是用来把数据表里的内容显示出来,内容如下:<%@language="vbscript"%>
<%
dim filepath,cn1,sq1,rs
filepath=server.MapPath("a1.mdb")
set cn1=server.createobject("adodb.connection")
cn1.open "driver={microsoft access driver(*.mdb)};dbq="&filepath
sq1="select * from s"
set rs=cn1.excute(sq1)
%>
<html>
<body bgcolor="white" topmargin="10" leftmargin="10">
<p align="center">
<font size="4"><b>用户情况表</b></font><br>
<hr size="1" width="90%" align="center">
<table width="90%" align="center" border="1" cellpadding="0" cellspacing="0" bordercolorlight="#000080" bordercolordark="#FFFFFF" bordercolor="#FFFFFF">
<tr height="35">
<td align="center">姓名</td>
<td align="center">性别</td>
<td align="center">年龄</td>
<td align="center">工资</td>
<td align="center">电话</td>
<td align="center">居住地区</td>
</tr>
<%
do while(not rs.eof)
response.write"<tr>"
response.write"<td align=center> "&rs("姓名")&" </td>"
response.write"<td align=center> "&rs("性别")&" </td>"
response.write"<td align=center> "&rs("年龄")&" </td>"
response.write"<td align=center> "&rs("工资")&" </td>"
response.write"<td align=center> "&rs("电话")&" </td>"
response.write"<td align=center> "&rs("居住地区")&" </td>"
response.write"</tr>"
rs.movenext
loop
rs.close
set rs=nothing
cn1.close
set cn1=nothing
%>
</table>
</body>
</html>
数据表(表名为s)内容如下:
编号 姓名 性别 年龄 工资 电话 居住地区
1 小唐 男 25 1600 6630030 长沙
2 小张 女 22 1400 5656453 北京
3 小李 男 20 1600 2626681 上海
4 小王 女 20 1300 2803502 武汉
5 小红 女 24 1400 2627562 长沙
我把这两个文件一起上传到虚拟空间一个名为123456789的文件夹了,可是不能访问,打开网页,显示:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
/123456789/Index.asp,行 6
我想了很久不知道第6行到底错在哪里,书里是这么写的啊.
请问这是为什么,该如何解决,请高手帮帮我,谢谢!
改成
set rs=server.createobject("adodb.recordset")
rs.open sq1,cn1,1,1 我觉得楼上改法值得商榷。
他的出错在第六行,就是连接数据库那行。难道没有ac的驱动? [quote][bo][un]hmhz[/un] 在 2008-7-14 16:54 的发言:[/bo]
set rs=cn1.excute(sq1)
改成
set rs=server.createobject("adodb.recordset")
rs.open sq1,cn1,1,1 [/quote]
还是不行啊,
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
/123456789/Index.asp,行 6 cn1.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&filepath&";Persist Security Info=False" [quote][bo][un]yms123[/un] 在 2008-7-15 08:35 的发言:[/bo]
cn1.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&filepath&";Persist Security Info=False" [/quote]
还是不行
ADODB.Connection 错误 '800a0bb9'
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
/123456789/Index.asp,行 8 可以了!!!
把hmhz和yms123两位斑竹的方法结合起来就行了!
谢谢你们!
不过我看不懂yms123那语句是什么意思,能否给我讲一下? 意思应该打开数据库.你可以根据字面意思推出来open是打开的意思,后面是连接数据库.不知道我说的是否正确? 至于这个open,也有2种方式连接Access数据库,见置顶帖。
楼主的情况可能是系统缺少了某个组件所致。
从你上面发的出错信息可以看到,用了yms123大牛的方法之后数据库可以打开了,只是进行查询的步骤出了错。 [quote][bo][un]过傻过天真[/un] 在 2008-7-15 12:07 的发言:[/bo]
可以了!!!
把hmhz和yms123两位斑竹的方法结合起来就行了!
谢谢你们!
不过我看不懂yms123那语句是什么意思,能否给我讲一下? [/quote]
因为从楼主提供的错误信息来看,可能是连接字符串错误,检查连接字符串发现连接字符串正确,因此推断可能楼主的计算机不支持那种连接字符串,所以将数据库连接字符串进行替换为另一种连接字符串。
数据库连接字符串的不同,决定了数据库和连接数据库的方式不同。
同样是Access数据库,不同的连接字符串会使用不同的方式进行连接。
页:
[1]
