<Script language="JavaScript">
dd=new Array(35);
 function first()
{
 var cn=new ActiveXObject ("Adodb.connection");
 var str="dsn=aa;uid=aa;pwd";
 cn.open (str); 
 var rs=cn.execute("select * from ff"); ncount=0; while (!rs.eof)
 { dd[ncount]=rs("aa");
   document.write (dd[ncount]);} show (dd);
}
 
function show (narray)
{
  for (var i=1;i<narray.length;i++)
  document.write (narray[i]);
}
</script>在第一次显示中会看到dd数组中的变量,但在show函数中则没有赋值变量,显示object或undefine

解决方案 »

  1.   

    while (!rs.eof)
     { dd[ncount]=rs("aa");
       document.write (dd[ncount]);
       ncount++;
     }
     show (dd);
    }少了   ncount++;
      

  2.   

    <input name="narray" id="narray" type="hidden">
    <Script language="JavaScript">
     var dd = new Array();
     //test()
     function test()
     {
        dd[0]="ssssssss"
        dd[1]="2"
        test1()
     } 
     function test1()
     {
       alert(dd[0])
     }
     first()
     function first()
     {
       var cn=new ActiveXObject ("Adodb.connection");
       var str="dsn=aa;uid=sa;pwd"
       var ncount=0;
       var strsql = "select * from ts_user"
       cn.open (str,1,3);    
       var rs=cn.execute(strsql);
       while (!rs.eof)
       { 
         dd[ncount]=rs("name");
         rs.movenext
         ncount++
       } 
       cn=null
       rs=null
       document.all.narray.value = dd
       show() 
       //show1()  
     }
     
      function show ()
      {
        narray_ = document.all.narray.value
        //alert(narray_.length)
        //alert(narray_[0]) 
       //for (var i=0;i<narray_.length;i++)
                  
    // document.write(narray_[i])     
     // alert(narray_[i])   
      }  function show1()
      {
         alert(dd.length)
         alert(dd[0])
      }
    </script>
    测试了,好象是不能传过来,估计是跟客户端连接数据库有关系吧,单独传数组是没问题的.你可看我的测试代码.变通一下吧,用XML传.