0

我似乎无法弄清楚为什么我会收到错误“对象不支持此属性或方法”据我所知,我似乎在做所有事情。

任何帮助是极大的赞赏。

谢谢

function test() {
    try {
        alert("running function test...")
        var cn      = new ActiveXObject("ADODB.Connection")
        var sql     = "SELECT * FROM tbl_rssims"
        var db      = "G:\\AS\\Asf\\ASF\\RSSIMS\\db\\rssims.mdb"
        cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " + db + "")

        rs = cn.Execute(sql);

                var trs = [ ];
                while ( ! rs.EOF )
                {
                    var tr = [ ];
                    for ( var td = 1; td <= 2; ++td )
                    {
                        if ( ! rs.EOF ) 
                        {
                            var flds = [ ];
                            for ( var f = 0; f < rs.fields.length; ++f )
                            {
                               flds.push( rs.fields(f).value );
                            }
                            trs.MoveNext();
                            tr.push( flds.join("<br/>") );

                        } else {
                            tr.push( "&nbsp;" );
                        }
                    }
                    trs.push( "<td>" + tr.join("</td><td>") + "</td>\n" );
                }

        rs.close
        cn.close

        var html = '<!DOCTYPE html>\n'
                         + "<html><body" +
             + '<table style="border: none; table-layout: fixed; width: 100%; text-align: left;" cellpadding="0" cellspacing="0">\n'
                         + "<tr>" + trs.join("</tr><tr>") + "</tr>"
                         + '</table></body></html>';
        window.open('','').document.write(html)

    }//end of try

    catch(e) {

        alert(e.description)

    }

}//end of function
4

2 回答 2

2

这个问题很难解决,因为您没有告诉我们是哪一行引发了错误......但是当您可能想要在此处访问数组时,您似乎正在尝试调用一个函数:

flds.push( rs.fields(f).value );

将其更改为

flds.push( rs.fields[f].value );

你应该没事。

编辑

现在我们可以处理 window.open 方法...

var win = window.open("","");
win.onload = function() {
    win.document.documentElement.innerHTML = html;
};

你可以试试这个,看看它是否有帮助。但同样,知道实际错误在哪里会更有帮助。

于 2012-11-16T14:02:18.450 回答
0

事实证明,对象的问题是 trs.movenext(),它应该是 rs.Movenext(),HTML 的实际编写没有任何问题。

感谢大家的帮助。

于 2012-11-16T18:26:18.703 回答