Javascript讀取ACCESS資料庫

來源:互聯網
上載者:User

 這些操作也許用不上,但也帖上來,網上也有很多相關例子,不多說帖出我自己改寫的一段,歡迎指正

說明:
在存html檔案的目錄下有一個存放資料庫的子目錄:webData,其中的資料庫名為scData.mdb
資料庫中有一個userlist的表,有userid和username兩個欄位,並有一條userid='999',username='smallcol'的測試資料

js代碼:
檔案scEngine.js
//仿資料庫連接池類
function scDBPool(){
    try{
         this.con=new ActiveXObject("ADODB.Connection");
         this.con.Provider="Microsoft.Jet.OLEDB.4.0";
         this.rs=new ActiveXObject("ADODB.Recordset");
    }catch(e){
         this.con=null;
         this.rs=null;
    }
    this.filePath=null;
    this.dbPath=null;
};

//設定資料庫檔案相對(定位檔案)路徑和資料庫名
scDBPool.prototype.setDB=function(dbPath){
    this.dbPath=dbPath;
};

//設定資料庫定位檔案,這一步可以進串連類中,這裡寫是方便使用任何名字的資料庫
scDBPool.prototype.setDBPathPosition=function(urlFile){
    var filePath=location.href.substring(0, location.href.indexOf(urlFile));
    this.dbPath=(this.dbPath==null||this.dbPath=="") ? "/webData/scData.mdb" : this.dbPath;
    var path=filePath+this.dbPath;
   //去除path前面的"files://"字串
    this.filePath=path.substring(8);
};

//同資料庫建立串連
scDBPool.prototype.connect=function(){
    this.con.ConnectionString="Data Source="+this.filePath;
    this.con.open;
};

//執行資料庫語句返回結果集
scDBPool.prototype.executeQuery=function(sql){
    this.rs.open(sql,this.con);
};

//執行資料庫語句不返回結果集
scDBPool.prototype.execute=function(sql){
    this.con.execute(sql);
};

//關閉結果集
scDBPool.prototype.rsClose=function(){
    this.rs.close();
    this.rs=null;
};

//關閉資料連線
scDBPool.prototype.conClose=function(){
    this.con.close();
    this.con=null;
};

html檔案中調試應用,頁面aa.html為資料庫相對定位檔案
<script language="javascript">
var db=new scDBPool();
db.setDBPathPosition("aa.html");
db.connect();
var sql="select * from [userlist] where userid = '999'";
db.executeQuery(sql);
while(!db.rs.eof){
    var cnt = db.rs.Fields("username");
    document.write(cnt);
    db.rs.moveNext;
}
db.rsClose();
db.conClose();
</script>

 

以上為個人蔘考網上改寫,有錯誤的地方請指正,謝謝,本人正在不斷學習中

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.