| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 865 人关注过本帖
标题:新手问个小问题
只看楼主 加入收藏
过傻过天真
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2008-5-4
收藏
 问题点数:0 回复次数:9 
新手问个小问题
我刚学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>&nbsp;"&rs("姓名")&"&nbsp;</td>"
response.write"<td align=center>&nbsp;"&rs("性别")&"&nbsp;</td>"
response.write"<td align=center>&nbsp;"&rs("年龄")&"&nbsp;</td>"
response.write"<td align=center>&nbsp;"&rs("工资")&"&nbsp;</td>"
response.write"<td align=center>&nbsp;"&rs("电话")&"&nbsp;</td>"
response.write"<td align=center>&nbsp;"&rs("居住地区")&"&nbsp;</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行到底错在哪里,书里是这么写的啊.

请问这是为什么,该如何解决,请高手帮帮我,谢谢!
2008-07-14 16:11
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 
set rs=cn1.excute(sq1)
改成
set rs=server.createobject("adodb.recordset")
rs.open sq1,cn1,1,1

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2008-07-14 16:54
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
我觉得楼上改法值得商榷。

他的出错在第六行,就是连接数据库那行。难道没有ac的驱动?
2008-07-14 18:58
过傻过天真
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2008-5-4
收藏
得分:0 
[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


还是不行啊,

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

/123456789/Index.asp,行 6
2008-07-14 20:46
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
cn1.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&filepath&";Persist Security Info=False"
2008-07-15 08:35
过傻过天真
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2008-5-4
收藏
得分:0 
[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"


还是不行

ADODB.Connection 错误 '800a0bb9'

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

/123456789/Index.asp,行 8
2008-07-15 11:59
过傻过天真
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2008-5-4
收藏
得分:0 
可以了!!!

把hmhz和yms123两位斑竹的方法结合起来就行了!

谢谢你们!

不过我看不懂yms123那语句是什么意思,能否给我讲一下?
2008-07-15 12:07
kgdipbyve
Rank: 2
等 级:论坛游民
帖 子:346
专家分:35
注 册:2008-5-4
收藏
得分:0 
意思应该打开数据库.你可以根据字面意思推出来open是打开的意思,后面是连接数据库.不知道我说的是否正确?
2008-07-16 17:29
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
至于这个open,也有2种方式连接Access数据库,见置顶帖。

楼主的情况可能是系统缺少了某个组件所致。

从你上面发的出错信息可以看到,用了yms123大牛的方法之后数据库可以打开了,只是进行查询的步骤出了错。
2008-07-16 17:36
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
[bo][un]过傻过天真[/un] 在 2008-7-15 12:07 的发言:[/bo]

可以了!!!

把hmhz和yms123两位斑竹的方法结合起来就行了!

谢谢你们!

不过我看不懂yms123那语句是什么意思,能否给我讲一下?

因为从楼主提供的错误信息来看,可能是连接字符串错误,检查连接字符串发现连接字符串正确,因此推断可能楼主的计算机不支持那种连接字符串,所以将数据库连接字符串进行替换为另一种连接字符串。
数据库连接字符串的不同,决定了数据库和连接数据库的方式不同。
同样是Access数据库,不同的连接字符串会使用不同的方式进行连接。
2008-07-16 20:18
快速回复:新手问个小问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035149 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved