从数据库中获取数据并使用JavaScript将其存储到数组中

时间:2015-09-01 23:52:36

标签: javascript html oracle10g

我试图从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],....]

3 个答案:

答案 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]+"]")

现在您需要做的就是在循环中使用索引并获得最终输出。