JavaScript连接access数据库

2012-11-12

    面试题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>

分享到:
0
相关阅读
友情链接
© 2018 我考网 http://www.woexam.com 中国互联网举报中心 湘ICP备18023104号 京公网安备 11010802020116号
违法和不良信息举报:9447029@qq.com