0

HTML <--------JavaScript------------> MS Access。

在我下面的数据库连接中,我可以在 Recordset 中访问数据库检索数据。但我无法访问 rs 中的值。

var cn_dub = new ActiveXObject("ADODB.Connection");
var str1_dub="P:\\Mydb.mdb";
var strConn_dub = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = "+str1_dub+";"; 
cn_dub.Open(strConn_dub); 
var rs_dub = new ActiveXObject("ADODB.Recordset"); 
var SQL ="select * from table1";
rs_dub.Open(SQL, cn_dub);
while (!rs_dub.EOF ) { 
    StatusCode_arr_db = rs_dub("statusCode");   
                alert("1-->"+StatusCode_arr_db);    
    rs_dub.MoveNext();      
}
alert("2-->"+StatusCode_arr_db);
rs_dub.Close();
cn_dub.Close();

现在 alert("2-->"+StatusCode_arr_db); --> 有空值。但是 alert("1-->"+StatusCode_arr_db); --> 有价值

如何在警报中获得价值(“2-->”+StatusCode_arr_db);

提前致谢

4

2 回答 2

0

基于评论:

var StatusCode_arr_db;

while (!rs_dub.EOF ) { 
    StatusCode_arr_db = rs_dub("statusCode");   
                alert("1-->"+StatusCode_arr_db);    
    rs_dub.MoveNext();      
}

alert("2-->"+StatusCode_arr_db);

如果您仍然看到该变量未定义,那么请执行我在下面所说的操作,因为我的原始答案是正确的。

尝试

 rs_dub["statusCode"];   

或者

 rs_dub.Fields("statusCode").value;

我相信您正在查看一个 jscript 示例(这是 MS javascript,不一样。)

于 2013-06-12T23:13:24.483 回答
0

看起来有一个参考保存在

StatusCode_arr_db = rs_dub("statusCode");. 

但是,您可以通过将值强制为字符串来解决此问题,例如

StatusCode_arr_db = rs_dub("statusCode") + "";
于 2020-04-28T13:04:17.633 回答