test(this.value); 说明是客户端代码
客户端代码的话 server.mappath("wldh.mdb")中server就不存在了,server属于服务器端脚本的宿主对象,
而且客户端没权限访问mdb
-----------------------------
如果是在服务器端访问,需要将表单先递交
取request("name1")得到数据后再将数据写回客户端

解决方案 »

  1.   

    如下是我修改的代码<html>
       <head>
           <title>ASP Template</title>
       </head>
       <body>
         <center>
            <table border="1" cellspacing="0">
         <form>
              <tr>
             <td><input type="text" name="name1" onchange="test(this.value);"></td>
     <td><div id="content"></div></td>
      </tr>
      <tr>
             <td><input type="text"></td>
     <td></td>
      </tr>
                 </form>  
    </table>
      </center>
       </body>
    </html>
     <script language="javascript">
       <!--
                function test(testvalue){
            if (testvalue!="")
            {
        var conn = new ActiveXObject("ADODB.Connection");
    conn.provider="sqloledb";
    var provstr="server=DHQ;database=xsdh;uid=sa;pwd=;"
    //var mdbstr="dbq=E:\web\obscene\wldh.mdb;Driver={Microsoft Access Driver (*.mdb)}";
                                conn.Open(provstr);
    var sqlstr="select * from abcd where name=" + testvalue;
                                var rs = new ActiveXObject("ADODB.Recordset");
    rs.Open(sqlstr,conn,1);
    if (rs.RecordCount>0)
    {
         contentstr="数据库已经有了!";
     content.innerHTML=contentstr;
    }
            }
    }
       -->
       </script>
    但是我测试时弹出如图对话框
      

  2.   

    如果是作为本地程序使用,可以把htm存为hta, 双击打开文件,就可使用本地数据库了。
      

  3.   

    如果把javascript代码部分换成vbscript可能就OK了吧,vbscript可以用<%...%>来区分是否服务器端运行,但javascript好像并没有太好的办法来区分.