while(!rs.EOF){
array.push(rs("FMouldNo"));
for(var i=0;i<array.length;i++){
$("#a tr").eq(i+1).find("td").eq(0).html(""+array[i]);
}
rs.MoveNext;
}
FMouldNo有A1,A2两条数据,为什么这样显示的是重复两条A2?
回复讨论(解决方案)
看看array里的值是什么
给出的代码不完整吧。。
function showMsg(){
var objdbConn = new ActiveXObject("ADODB.Connection");
var strdsn = "Driver={SQL Server};SERVER=192.168.9.237;UID=erp;PWD=erp;DATABASE=TEST20151013CS";
objdbConn.Open(strdsn);
var array=new Array();
var rs = new ActiveXObject("ADODB.Recordset");
var sql = "select FMouldNo from t_MouldStandard";
rs.Open(sql,objdbConn);
while(!rs.EOF){
array.push(rs("FMouldNo"));
for(var i=0;i<array.length;i++){
$("#a tr").eq(i+1).find("td").eq(0).html(""+array[i]);
}
rs.MoveNext;
}
objdbConn.Close(); // 关闭数据库链接
}
看看array里的值是什么
我很奇怪,第一次while的时候
这是第一条记录的值,第二次while的时候
是第二条记录的,等push完数组之后就变成了两条
还请高手指教一下
给出的代码不完整吧。。
见3楼
rs("FMouldNo") 你这是一个对象类型的吧 而且while用的同一个对象?
rs("FMouldNo") 你这是一个对象类型的吧 而且while用的同一个对象?
FMouldNo这是一个列名,我只是想把查询出来这一列存进数组里
你push的时候,是把整个rs("FMouldNo")对象都push给array了吧。。。应该是将对应的值push给array才对吧 。。
array.push(JSON.parse(JSON.stringify(rs("FMouldNo")))); 试试先 如果对的话就自己深复制下
array.push(JSON.parse(JSON.stringify(rs("FMouldNo")))); 试试先 如果对的话就自己深复制下
显示的结果是这样的
你push的时候,是把整个rs("FMouldNo")对象都push给array了吧。。。应该是将对应的值push给array才对吧 。。
我的目的就是把这一整列都存进数组啊,如果数据很多怎么一个一个存进数组里呢
你push的时候,是把整个rs("FMouldNo")对象都push给array了吧。。。应该是将对应的值push给array才对吧 。。
我的目的就是把这一整列都存进数组啊,如果数据很多怎么一个一个存进数组里呢
如果是一整列都存进数组array=rs("FMouldNo"); 就好了吧,不需要push.
来源:itnose