2013年1月23日 星期三

讀取 ACCESS 資料表欄位名稱


在 ASP+Javascript+ACCESS 的小型互動網頁環境中, 常常需要讀取某資料表的欄位名稱 (例如要作為表格的標頭), 總不能打開資料庫一一去抄出來吧! 以下程式碼利用掃描資料庫的 Schema 欄位, 就可以將全部欄位名稱讀出來, 放到陣列裡面.

var conn=Server.CreateObject("ADODB.Connection");  //建立 ADODB 物件
var str="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
            Server.MapPath("./db/MyDB.mdb";  //連線字串
conn.Open(str);  //開啟資料庫連線
var schema=conn.OpenSchema(4);  //取得 Schema 物件
var fieldnames=new Array();  //存放欄位名稱
while (!schema.EOF) {
         if (schema.Fields("TABLE_NAME").Value=="users") {  //比對資料表名稱
             fieldnames.push(schema.Fields("Column_Name").Value);  //放入陣列
             }
         schema.MoveNext();
         }
schema=null;
Response.Write(fieldnames.join());  //顯示欄位名稱
conn.Close();  //關閉連線
conn=null;

沒有留言 :