用户操作
[留言]  [发消息]  [加为好友] 
订阅我的博客
XML聚合    FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
qsc800528的公告
文章分类
    存档

    原创  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] = ''''";
     
        //建立连接,并生成相关字符串。
        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>

    发表于 @ 2006年11月22日 14:56:00 | 评论( loading... ) | 编辑| 举报| 收藏

    旧一篇:JSP学习--JSP九大内置对象

    • 发表评论
    • 评论内容:
    •  
    Copyright © qsc800528
    Powered by CSDN Blog