标题:Javascript连接Access数据库的问题
只看楼主
pandy420
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-7-8
 问题点数:0 回复次数:9 
Javascript连接Access数据库的问题

用google搜索“javascript连接access”,等到一个例子,我按照例子执行,却一点反应也没有,请各位看看。谢谢了!!
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--

function getCountFromDB() {
document.write("Begin to run getCountFromDB function.");
var filePath = location.href.substring(0, location.href.indexOf("Cnt.htm"));
var path = filePath + "MyData.mdb";
path = path.substring(8);

var con = new ActiveXObject("ADODB.Connection");
con.Provider = "Microsoft.Jet.OLEDB.4.0";
con.ConnectionString = "Data Source=" + path;

con.open;
document.write("The db is opened.");
con.close();
con = null;
document.write("The db is closed.");
}
-->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--

getCountFromDB();

-->
</SCRIPT>
</BODY>
</HTML>

我在浏览器中输入http://localhost/Cnt.htm,可是只显示“Begin to run getCountFromDB function.”,open和close都不显示,表示没有执行open和close。请各位帮忙找找原因,谢谢了!!!

搜索更多相关主题的帖子: 数据库 Javascript Access google 
2007-10-29 12:37
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
得分:0 
检查一下数据库路径是否正确。
2007-10-29 16:54
pandy420
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-7-8
得分:0 

非常感谢楼上的回复!

我也怀疑过路径的问题,可是我把路径直接设置成path="MyData.mdb", 效果还是和上面一样,不能open数据库。(MyData.mdb和Cnt.htm放在同一个目录下面)

2007-10-29 17:45
lmhllr
Rank: 8Rank: 8
等 级:贵宾
威 望:44
帖 子:1504
专家分:42
注 册:2005-5-12
得分:0 
javaSrcipt可以连接数据库???!!
2007-10-30 01:21
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
得分:0 
ls,lz指的是想用JavaScript语言来写ASP
而不是把js作为客户端语言来写,即就是在服务器端用Javascript语言,所以是可以的

不过lz的做法有问题,必须先声明服务器端语言为javascript,即在页面最顶部加上
<%@ Language="JavaScript %>
然后不要用
<script language="javascript">来包住语句,自己用<%...%>就可以了

个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2007-10-30 08:59
pandy420
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-7-8
得分:0 
以下是引用渚薰在2007-10-30 8:59:05的发言:

不过lz的做法有问题,必须先声明服务器端语言为javascript,即在页面最顶部加上
<%@ Language="JavaScript %>
然后不要用
<script language="javascript">来包住语句,自己用<%...%>就可以了

是不是在页面的顶部加上<%@ Language="JavaScript %>之后,后面所有的javascript语句都用<%……%>括起来就可以了啊?多谢指点! 晚上回去试试看。

2007-10-30 09:09
pandy420
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-7-8
得分:0 

刚才试了下,按照渚薰斑竹说的在页面顶部加了<%@ Language="JavaScript" %>,然后用<%……%>括起javascript语句,结果连第一句“Begin to run getCountFromDB function.”都不显示了,这是怎么回事呢?

<%@ Language="JavaScript" %>
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<%
function getCountFromDB() {
document.write("Begin to run getCountFromDB function.");
var path = "MyData.mdb";

var con = new ActiveXObject("ADODB.Connection");
con.Provider = "Microsoft.Jet.OLEDB.4.0";
con.ConnectionString = "Data Source=" + path;

con.open;
document.write("The db is opened.");
con.close();
con = null;
document.write("The db is closed.");
}
%>
</HEAD>
<BODY>
<%
getCountFromDB();
%>
</BODY>
</HTML>

2007-10-30 19:33
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
得分:0 
document.write是客户端的语句,服务器端没法用
在服务器端,ASP即使用了JavaScript来写,仍旧需要6大对象
即输出仍旧是用Response.Write
lz对客户端脚本和服务器端脚本的概念有点混乱,建议,认真的阅读ASP的书籍,以及JavaScript的书籍
而服务器端的ASP通常是用VBScript来写的,而不是用JavaScript,当然,这并不排除个人喜欢用JavaScript来写ASP的习惯。

首先,因为你要链接数据库,而链接数据库的操作,必须在服务器端进行,即必须是服务器的脚本,而你又用到了JavaScript,所以我会让你去把服务器端的ASP的默认脚本语言改成JavaScript(默认的是VBScript)。
而通过lz的几番提问,我大致清楚了你的本意(假如理解有错,请lz指明)。

其实,你只知道JavaScript是客户端脚本,而又想通过JavaScript来链接数据库,很遗憾,这是不可能的。因为客户端脚本是在用户的浏览器上运行的,它无法访问远在服务器上的数据库。

[此贴子已经被作者于2007-10-31 9:44:21编辑过]


个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2007-10-31 09:41
pandy420
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-7-8
得分:0 
感谢斑竹的详细解释!看来只能用VBscript在服务器端运行了。
2007-10-31 12:05
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 

ie应该是不能直接连接数据库的,这种操作在浏览器中一般被禁止。

2007-11-02 10:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-181633-1-1.html




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

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