我试图从oracle数据库中获取数据并使用JavaScript将其存储到数组中。但我得到的输出"未定义"。我怎么能解决它?任何人都可以帮助我。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<script type="text/javascript">
function getdata(){
var con= new ActiveXObject('ADODB.Connection');
var connectionString="Provider= OraOLEDB.Oracle;User id=SYSTEM;Password=xxxx;datasource=ORA";
con.Open(connectionString);
var rs=new ActiveXObject('ADODB.Recordset');
rs.Open("select W_DATE,DATA from xet", con);
var data=[];
while(!rs.eof)
{
document.write(data.push[rs(0),rs(1)]);
rs.movenext;
}
rs.close;
con.close;
}
</script>
</head>
<body onLoad="getdata()">
</body>
</html>
这是我的数据=
w_date data
1/4/2015 9:27 20.1
1/4/2015 18:52 18.2
2/4/2015 19:00 18.3
2/4/2015 21:25 15.1
我希望输出为[[1/4/2015 9:27,20],[1/4/2015 18:52,18],....]
答案 0 :(得分:0)
看起来你期待输出的阵列数组。
尝试这样的事情:
var allRecords = [];
var data = [];
data.push("1/4/2015 9:27 20.1");
data.push("1/4/2015 18:52 18.2");
data.push("2/4/2015 19:00 18.3");
data.push("2/4/2015 21:25 15.1");
allRecords.push(data);
console.log(allRecords);
在你的情况下:
var allRecords = [];
var data=[];
while(!rs.eof)
{
document.write(data.push[rs(0),rs(1)]);
rs.movenext;
}
allRecords.push(data);
答案 1 :(得分:0)
尝试先推。
然后写..
试试这样..
var i = 0;
while(!rs.eof)
{
data.push([rs(0), rs(1)]);
document.writeln(data[i++]);
rs.movenext;
}
答案 2 :(得分:0)
但是我得到的输出&#34;未定义&#34;
push函数使用括号,而不是方括号。
使用此:
data.push([rs(0),rs(1)]);
然而,这将返回索引。如果要输出实际数据,请执行以下操作:
document.write(data[0][0]);
您的输出格式应如下所示:
document.write("["+data[0][0] +"," +data[0][1]+"]")
或为了简单起见(如果您对分隔逗号没问题):
document.write("["+data[0]+"]")
现在您需要做的就是在循环中使用索引并获得最终输出。