连接数据库

课后整理 2021-2-25

虽然本案例不需要服务器端的技术支持,但是我们需要与数据库打交道,并能够顺畅地与数据库进行通信,很方便地查询和操作数据库。这里主要借助了ActiveXObject插件,只需要实例化该插件即可。

对于IE浏览器来说,该插件在默认状态下已经安装,如果要兼容Firefox等浏览器,则需要手动安装ActiveXObject插件。这里有两种实现方法:

一种是使用IETab这个插件,在Firefox下直接调用IE浏览器内核进行浏览。读者也可以在Firefox中通过附加组件的形式安装IETab,然后在窗口底部状态栏右侧切换IE和Firefox内核,从而获取ActiveXObject插件。

另一种是使用npActivexPlugin,使Firefox直接支持ActiveX。这两款Firefox扩展的下载地址分别是http://ietab.mozdev.org/和http://forums.mozine.cn/index.php?showtopic=2350,选择一款适合你自己的就可以了。

//连接数据库函数
//参数说明://file表示当前网页文件;data表示数据库文件,及其相对于当前文件的位置,如data/home.mdb
function connection(file, data){
    var filePath = location.href.substring(0, location.href.indexOf(file));
    var path = filePath + data;
    path = path.substring(8);
    var conn = new ActiveXObject("ADODB.Connection");
    conn.Provider = "Microsoft.Jet.OLEDB.4.0";
    conn.ConnectionString = "Data Source=" + path;
    conn.open;
    return conn;
}

然后在页面中调用该函数,定义connection对象即可。

var conn = connection("家庭日志.html", "data/home.asp");

注意,为了防止网络下载Accesss数据库文件,避免整个网站数据全部丢失,这里把Accesss数据库文件的扩展名mdb改为asp。这样任何人都无法在网上下载数据库文件,即使该文件的路径被别人获取到,由于它是asp扩展名,则服务器都不会允许用户下载该文件。