1.不能保证每台机器都能查询;使用"Provider=Microsoft.Jet.OLEDB.4.0"和使用driver={Microsoft Access Driver (*.mdb)}有啥区别?区别,jet引擎是后出来的,在win98上可能不好用,另外一个是标准的access驱动,应该都好用2.第一次查询会比较慢,我已经想了一些方法,但效果不大理想;尽量简化查询条件,从计算机实现上讲,做一次循环要比做一次比较简单的多。3.这么做有什么负面后果?没有看到你的程序,总之,IE解释的话,速度明显快不了。4.下载后请先阅读 "说明" 文件.看不到:(只是一个尝试,可不可行,看你们的啦!

解决方案 »

  1.   

    用html+js当然可以读数据库啦。我以前有贴过源程序啊。
    不过这样是没有办法在网上打开的。没啥用。除非是用作intranet还可以。
    如:<script>
    function adoGet(URL) {
    var oStream = new ActiveXObject("ADODB.Stream");
    var sURL = "url=" + URL;
    oStream.Open(sURL);
    var result = oStream.ReadText;
    if(result) { return result; }
    }function adoSave(content,fName) {
    var objstream = new ActiveXObject("ADODB.Stream");
    objstream.Mode=3;
    objstream.Type = 1; 
    // objstream.Charset = "ISO-8859-1" ;
    objstream.Open(); 
    objstream.WriteText("test");
    // objstream.LoadFromFile("d:\\a.cer");
    var s= objstream.ReadText(-1); 
    // objstream.SaveToFile(fName);
    alert(s);
    objstream.Close();
    }function adoRs(URL) {
    var Rec = new ActiveXObject("ADODB.Record");
    Rec.Open(URL);
    alert(Rec.value);
    }function go() {
    var xDOM = new ActiveXObject("MSXML.DOMDocument");
    var rsXML = new ActiveXObject("ADODB.Recordset");
    var sSQL, sConn, Path
        
    sSQL = "SELECT * FROM 客户";
    sConn= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\FPNWIND.MDB"; rsXML.Open(sSQL, sConn); rsXML.Save(xDOM, 1);
    document.write("<table border=\"1\" style=\"border:1px solid;\"><tr>"); for(var i=0;i<rsXML.fields.Count;i++) {
    document.write("<td style=\"background:'#ffcfff';font:bold;\">" + rsXML.fields(i).name + "</td>") 
    }
    document.write("</tr>");
    while(!rsXML.eof) {
    document.write("<tr>");
    for(var i=0;i<rsXML.fields.Count;i++) {
    document.write("<td>" + rsXML.fields(i).value + "</td>");
    }
    document.write("</tr>");
    rsXML.MoveNext 
    }
    document.write("</table>");
    }go();
    </script>