JavaScriptからAccessデータベースを利用する

条件

  • ActiveXObjectというMicrosoft 拡張機能用いており、Internet Explorer でのみ機能します。
  • Accessが必要で、予め以下データベースが作成されている事とします
    • Access 2007(拡張子.accdb)を想定がインストールされている端末を想定
    • ファイルの場所:c:\Users\yosshi\Documents\database.accdb
    • テーブル名:employee
    • 列名と型:id(PK), name(text)
    • 上記に適当に値を入れてくださいね〜
  • HTML(view.html)とデータベース処理(model.js)とデータベースの接続初期化部分(database.js)の3ファイルに分けます
  • 上記3ファイルはどちらに配置しても大丈夫です。以下の通りファイルを作ったらview.htmlをIEで開いてください

view.html

<!DOCTYPE html>
<html>
<head>
 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
 <title>employee</title>
</head>
<body>
 <h1> employee list </h1>
 <ul id="viewList"></ul>

 <script type="text/javascript" src="database.js"></script>
 <script type="text/javascript" src="model.js"></script>
</body>
</html>

model.js

onload = init;
onunload = clocseDb;

function init() {
 connectDb();
 viewList();
}

function viewList() {
 var SQL = 'SELECT * FROM employee;';
 var dbe = database.Execute(SQL);
 while (!dbe.EOF){
   $("#viewList").append('<li>' + dbe(0) + "," dbe(1) + '</li>');
   dbe.MoveNext();
 }
 dbe.Close();
 dbe = null;
}

database.js

var db;

function connectDb() {
 db = new ActiveXObject("ADODB.Connection");
 db.Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\\User\yosshi\\Documents\\database.accdb;");
 alert("connect database");
}

function closeDb() {
 db.Close();
 db = null;
 alert("close database");
}