Javascript能连接数据库吗?第一听说
ajax

解决方案 »

  1.   

    可以!找的ASP代码!
    <script language="javascript"> 
      //用 javascript 寫服務器端連接數据庫的代碼示例  
      var conn = new ActiveXObject("ADODB.Connection"); 
      conn.Open("Provider=SQLOLEDB.1; Data Source=localhost; User ID=sa; " 
        +"Password=; Initial Catalog=pubs");  
      var rs = new ActiveXObject("ADODB.Recordset"); 
      var sql="select * from authors"; 
      rs.open(sql, conn);  
     shtml = " <table width='100%' border=1>"; 
     shtml +=" <tr bgcolor='#f4f4f4'> <td>au_id </td> <td>au_lname </td> <td>au_fname </td> <td>phone </td> <td>address </td> <td> city </td> <td>state </td> <td>zip </td> </tr>";  
      while(!rs.EOF)  
      {  
     shtml += " <tr> <td>" + rs("au_id") + " </td> <td>" + rs("au_lname") + " </td> <td>" + rs("au_fname") + " </td> <td>" + rs("phone") + " </td> <td>" + rs("address") + " </td> <td>" + rs("city") + " </td> <td>" + rs("state") + " </td> <td>" + rs("zip") + " </td> </tr>";  
     rs.moveNext;  
      }  
      shtml += " </table>"; 
      document.write(shtml); 
      rs.close();   
      rs = null;   
      conn.close();  
      conn = null;  
    </script> 
      

  2.   

    真正的javascript是直接连接不了数据库的,你说的可能是jscript吧,这个是ms开发的,jscript可以作为服务端语言
      

  3.   

    大家可以互相讨论一下,这是我网上找的一段:好多网上的朋友都在解决某些问题的时候,都感觉到很困惑,而很多人都觉得用javascript连接数据库很是不理解,甚至于就断定javascript只能被客户端所执行,不能连接数据库,而且我查找了一下,CSDN上介绍的太笼统,初学者根本就看不懂,其他的论坛我没有搜索。介于此种情况,我决定好好看看MSDN ,通过看了VC++的连接数据库的例子,总结出JAVASCRIPT连接数据库的方法,现公布给大家
    <script language=javascript>
    // ^_^ 
    // 
    //(c) in 2002-2003 by Alex(Chinese:蒋健华)
    //http://www.finder.net.cn 
    //C Email: [email protected]
    //F Email: [email protected] 
    </script>
    <script language=javascript>     
    function replace(v)

    //容错问题,请读者自行进行判断。
    //定义SQL语句
    var sql = "select * from Dictionary where MainID='" + v + "'" ;
    //新建数据库连接对象和数据集存取对象
    var ConnDB = new ActiveXObject("adodb.connection"); 
    var rs = new ActiveXObject("ADODB.Recordset"); 
    //这里填入要连接的DSN
    ConnDB.ConnectionString="DSN=***;uid=***;pwd=***"; 
    ConnDB.open 
    rs.open(sql,ConnDB,1,1); 
    if (rs.RecordCount>0){ 
    if (v==parseInt(rs("MainID"))){ 
    //字符串连接
    document.all('txt').value = v + rs("MainValue"); 
    var sql=null;
    rs.close
    ConnDB.close
    return; 
    } else { 
    var sql=null; 
    alert("没有此代号!"); 
    txt.select(); 
    txt.focus(); 
    rs.close
    ConnDB.close

    }
    </script>
    <input type=text id=txt name=txt onblur="replace(this.value)">
      

  4.   

    只是知道javascript是客户端的程序,要与数据库相连,需要进行间接传递,在jsp 或asp.net中应该是可以用<%=  %>嵌入信息的。
    有什么更好的办法,希高人指点!
      

  5.   

    写过asp就知道那些代码是什么意思了。只不过调用了微软的ado对象而已。我更喜欢把他归类到类似
    webservice这种基于固定接口的应用,而把把它归类到js应用。
      

  6.   

    和VBScript一样啊,都是通过ADO来连数据库的,你知道ASP VBScript中是怎么连接数据库的,用JS去连不一回事么
    4楼的,那个代码有问题的,在JS中的ADO的方法是必须要加()的,
    ConnDB.open  => ConnDB.open();
    rs.close => rs.close();还有 if (v==parseInt(rs("MainID"))){  这里的 rs("MainID")会报错的,应该改成 rs.fields('MainID').value
      

  7.   

    个人感觉activeX组件象是一种服务响应组件,它按特定的格式接收消息然后返回服务。
    vb、vc、delphy这些语言独立自主的将消息通过window系统转给axtiveX,能获得服务。
    vb←→windows←→activeX
    js多了一层
    js←→IE←→windows←→activeX   √
    js←→FireFox←→windows←→activeX  ×所以js能否成功连接数据库,只取决于你的浏览器是否愿意充当这个中介人,只要愿意就没问题。
    所以只要是用activex所有的程序只是语法写法有些不同,其他都一样,你完全可以将vb调试好
    的程序改到js中
      

  8.   

    “不是说javascript是运行的客户端”,没错是运行在客户端,但连接数据库的活不是
    js做的,是activeX按照js的请求做的。这并不矛盾