用這種不入流的方式來鏈接數據庫,展現數據庫的內容,雖然邏輯上就不合理,不該該採用。可是爲了方便工做,我仍是霸王硬上弓了 javascript
<!--自定的函數集合--> <script type="text/javascript"> //@全局變量定義區 var g_Oracle_Instance = new ActiveXObject("ADODB.Connection"); var g_Oracle_RecordSet = new ActiveXObject("ADODB.Recordset"); var g_Oracle_EXE_Sql_Open = 0; //@數據庫登陸 function INIT_ORACLE(){ try{ g_Oracle_Instance.Open("DSN=odbcsid;SERVER=127.0.0.1;UserID=use;Password=passwd;Database=odbcsid;Port=1521"); }catch(e){ alert("用戶名,密碼或者實例名錯誤,拒絕登陸"); } } //@數據庫斷開鏈接,釋放資源 function DELETE_ORACLE(){ g_Oracle_RecordSet.close(); g_Oracle_Instance.close(); g_Oracle_Instance = null; } //@執行SQL,查詢數據 function Oracle_EXE_Sql(sql){ try{ if(g_Oracle_EXE_Sql_Open) g_Oracle_RecordSet.close(); g_Oracle_RecordSet.open(sql, g_Oracle_Instance); g_Oracle_EXE_Sql_Open = 1; }catch(e){ g_Oracle_EXE_Sql_Open = 0; }
如下片斷爲處理結果片斷,自行修改使用,只說明使用方法【其中取值的時候RecordSet加索引後必定要記得加.value,具體差異你能夠驗證測試看看其中的不一樣,哈哈。我的測試遇到分析的結果是:若是不加.value,相似指針指向,被操做數指向了一個結果集中的某一個位置,假如稍後關閉結果集,前面的數據在引用獲取值的時候會報錯,提示,已經被關閉】 while(!g_Oracle_RecordSet.EOF){ g_parent_id[g_parent_cnt] = g_Oracle_RecordSet(0).value; g_parent_name[g_parent_cnt] = g_Oracle_RecordSet(1).value; g_Oracle_RecordSet.moveNext; } </script>