當前位置:編程學習大全網 - 編程語言 - 如何用javascript操作access數據庫

如何用javascript操作access數據庫

1.Access數據庫名為 MyData.Mdb, 裏面建了壹個名為count的表,表由兩個 字段組成: ID和COUNT,表裏有壹條數據: ('count','100')。

文本文件名為 count.txt,裏面隨便寫入壹個數字。

靜態頁面名為Cnt.htm。

2.以上3個文件都放在同壹目錄下。

由於采用Access數據庫,而它采用非標準SQL語法,所以要註意在表名和字段名上需要加方括號: []

3.下面是頁面裏的代碼:其中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個字符。

pathpath = path.substring(8);

var updateCnt = 0;

//生成查詢和更新用的sql語句。

var sqlSelCnt = "SELECT COUNT FROM [COUNT] WHERE ID = 'count'";

var sqlUpdCnt = "UPDATE [COUNT] SET [COUNT] = '";

//建立連接,並生成相關字符串 www.knowsky.com。

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;

sqlUpdCntsqlUpdCnt = 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";

pathpath = 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>

4.用這種方法來讀寫數據庫,只適合做計數器和留言版這樣的不需要保密性的工作,畢竟代碼全是用javascript寫成的,誰都可以看到,然後就可以得到路徑把db文件下載下來進行分析,所以沒辦法用它來保存壹些不想讓別人知道的東西。

  • 上一篇:寶馬的 mt 和mp 是什麽意思
  • 下一篇:通達信無敵拐點指標公式
  • copyright 2024編程學習大全網