javascript連接access數據庫

文件構成:
  Access數據庫名爲 MyData.Mdb, 裏面建了一個名爲count的表,表由兩個
  字段組成: ID和COUNT,表裏有一條數據: ('count','100')。
  文本文件名爲 count.txt,裏面隨便寫入一個數字。
  靜態頁面名爲Cnt.htm。
以上3個文件都放在同一目錄下。
 
    由於採用Access數據庫,而它採用非標準SQL語法,所以要注意在表名
和字段名上需要加方括號: []
 
下面是頁面裏的代碼:
 
    其中getCountFromDB方法是對Access數據庫進行操作,getCountFromTxt
方法是對txt純文本進行操作,這兩個方法都在本地執行通過。
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
function getCountFromDB() {
    //以當前頁面文件爲基礎,找到文件所在的絕對路徑。
    var filePath = location.href.substring(0, location.href.indexOf("Cnt.htm"));
    var path = filePath + "MyData.mdb";
    //去掉字符串中最前面的"files://"這8個字符。
    path = path.substring(8);
    var updateCnt = 0;
 
    //生成查詢和更新用的sql語句。
    var sqlSelCnt = "SELECT COUNT FROM [COUNT] WHERE ID = 'count'";
    var sqlUpdCnt = "UPDATE [COUNT] SET [COUNT] = '";
 
    //建立連接,並生成相關字符串 www.zhangpeng.com.cn
    var con = new ActiveXObject("ADODB.Connection");
    con.Provider = "Microsoft.Jet.OLEDB.4.0";
    con.ConnectionString = "Data Source=" + path;
 
    con.open;
    var rs = new ActiveXObject("ADODB.Recordset");
    rs.open(sqlSelCnt, con);
    while (!rs.eof) {
        var cnt = rs.Fields("COUNT");
        document.write(cnt);
        //將取得結果加1後更新數據庫。
        updateCnt = cnt * 1 + 1;
        rs.moveNext;
    }
    rs.close();
    rs = null;
 
    sqlUpdCnt = sqlUpdCnt + updateCnt + "'";
    con.execute(sqlUpdCnt);
 
    con.close();
    con = null;
}
 
function getCountFromTxt() {
    var filePath = location.href.substring(0, location.href.indexOf("Cnt.htm"));
    var path = filePath + "count.txt";
    path = path.substring(8);
    var nextCnt = 0;
 
    var fso, f1, ts, s;
    //以只讀方式打開文本文件。
    var ForReading = 1;
    //以讀寫方式打開文本文件。
    var ForWriting = 2;
 
    fso = new ActiveXObject("Scripting.FileSystemObject");
    f1 = fso.GetFile(path);
    ts = f1.OpenAsTextStream(ForReading, true);
    s = ts.ReadLine();
    nextCnt = eval(s) + 1;
    document.write("now count is :" + s);
    ts.Close();
 
    ts = f1.OpenAsTextStream(ForWriting, true);
    ts.WriteLine(nextCnt);
    ts.close();
}
//-->
</SCRIPT>
</HEAD>
 
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
getCountFromTxt();
//-->
</SCRIPT>
</BODY>
</HTML>
發佈了157 篇原創文章 · 獲贊 0 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章