使用 JavaScript 从数据库中获取数据并将其存储到数组中
Fetching data from database and store it into an array using JavaScript
我正在尝试从 oracle 数据库中获取数据并使用 JavaScript 将其存储到数组中。但是我得到的输出是 "undefined"。我该如何解决?谁能帮帮我。
<!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数据
1/4/2015 9:27 20.1
2015 年 1 月 4 日 18:5218.2
2015 年 2 月 4 日 19:0018.3
2015 年 2 月 4 日 21:2515.1
我希望输出为 [[1/4/2015 9:27,20],[1/4/2015 18:52,18],....]
看起来您希望这里有一个数组数组用于输出。
尝试这样的事情:
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);
先尝试推动。
然后写..
这样试试..
var i = 0;
while(!rs.eof)
{
data.push([rs(0), rs(1)]);
document.writeln(data[i++]);
rs.movenext;
}
but the output I'm getting "undefined"
push 函数使用圆括号,而不是方括号。
使用这个:
data.push([rs(0),rs(1)]);
但是这将 return 索引。如果你想输出实际数据,你可以这样做:
document.write(data[0][0]);
你的输出格式应该是这样的:
document.write("["+data[0][0] +"," +data[0][1]+"]")
或者为了简单起见(如果您可以使用分隔逗号):
document.write("["+data[0]+"]")
现在您需要做的就是在循环中使用索引并获得最终输出。
我正在尝试从 oracle 数据库中获取数据并使用 JavaScript 将其存储到数组中。但是我得到的输出是 "undefined"。我该如何解决?谁能帮帮我。
<!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数据
1/4/2015 9:27 20.1
2015 年 1 月 4 日 18:5218.2
2015 年 2 月 4 日 19:0018.3
2015 年 2 月 4 日 21:2515.1
我希望输出为 [[1/4/2015 9:27,20],[1/4/2015 18:52,18],....]
看起来您希望这里有一个数组数组用于输出。
尝试这样的事情:
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);
先尝试推动。
然后写..
这样试试..
var i = 0;
while(!rs.eof)
{
data.push([rs(0), rs(1)]);
document.writeln(data[i++]);
rs.movenext;
}
but the output I'm getting "undefined"
push 函数使用圆括号,而不是方括号。
使用这个:
data.push([rs(0),rs(1)]);
但是这将 return 索引。如果你想输出实际数据,你可以这样做:
document.write(data[0][0]);
你的输出格式应该是这样的:
document.write("["+data[0][0] +"," +data[0][1]+"]")
或者为了简单起见(如果您可以使用分隔逗号):
document.write("["+data[0]+"]")
现在您需要做的就是在循环中使用索引并获得最终输出。