歡迎您光臨本站 註冊首頁

JavaScript連接access資料庫

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
面試題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>


[火星人 ] JavaScript連接access資料庫已經有1761次圍觀

http://coctec.com/docs/java/show-post-60035.html