用这种不入流的方式来链接数据库,展现数据库的内容,虽然逻辑上就不合理,不该该采用。可是为了方便工做,我仍是霸王硬上弓了 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>