<script language="javascript">
var sSQL,i;
        var sConn=new ActiveXObject("ADODB.Connection");
        var sDom = new ActiveXObject("MSXML.DOMDocument");
        var rs = new ActiveXObject("ADODB.Recordset");
        sConn = "Provider=SQLOLEDB;server=(local);DataBase=test;UID=sa;PWD=1234;";
        var sArray = new Array("用户功能","");
        var aList = new Array();
        var aURL = new Array();         
        if(sArray[i] == "用户功能"){       
    sSQL = "select * from MenuDetail where Type='用户功能'";
    rs.open(sSQL,sConn);
   while(!eof){
    //shtml = "<tr><td>" + rs("ASSET_CARD_NO") + rs("ASSET_CARD_NAME")"
shtml = "<li id='"+rs("LId")+"'>" + "<a href='"+rs("URL")+"'></a></li>";
    document.write(shtml);
}
</script>解释:我想把从数据库读出来的相应的字段的数值以变量的形式传入到write写的对象中,数据读写是没有问题的,可是在写的时候写不进去的,不知道怎么改进呢

解决方案 »

  1.   

    循环里不要用document.write();加个
    <div id="aaa"></div>
    while(!eof){
    //shtml = "<tr><td>" + rs("ASSET_CARD_NO") + rs("ASSET_CARD_NAME")"
    shtml = "<li id='"+rs("LId")+"'>" + "<a href='"+rs("URL")+"'></a></li>";
    document.getElementById("aaa").innerHTML=document.getElementById("aaa").innerHTML+shtml 
    }
      

  2.   

    页面加载完后,用document.write(shtml);会把页面里的原有元素清掉,所以不能这么用.
    可以向楼上那样改.