zoukankan      html  css  js  c++  java
  • php連mssql,access的方法 js連接access數據庫

     

    一、php連mssql
    $dbhost = '';
    $dbuser = ''; //你的mssql用户名
    $dbpass = ''; //你的mssql密码
    $dbname = ''; //你的mssql库名

    $connect=odbc_connect("Driver={SQL Server};Server=$dbhost;Database=$dbname","$dbuser","$dbpass");
    $sql="select * from content";
    $exec=odbc_exec($connect,$sql);
    while($row = (odbc_fetch_array($exec)))
    {
     $row['id']  //獲取字段值
     ...
    }

     


    二、php連access
    $db=$_SERVER['DOCUMENT_ROOT']."/PHP_ACCESS/include/#mydb.mdb";   //這裏最好用$_SERVER['DOCUMENT_ROOT']獲取路徑
    $conn = new COM('ADODB.Connection') or die('can not start Active X Data Objects');
    $conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");
         $rs = $conn->Execute('SELECT * FROM contents order by id desc');
         while(!$rs->EOF) 
                {
                  echo $rs->Fields['name']->Value;
                  $rs->MoveNext();
         }
       /*释放资源*/
       $rs->Close();
          $conn->Close();
          $rs = null;
          $conn = null;


    Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft OLE DB Provider for ODBC Drivers<br/><b>Description:</b> [Microsoft][ODBC Microsoft Access Driver] Disk or network error.'
    (*  xp上出現上述錯誤,但在2003上能正常運行,可能與電腦ODBC配置有關)???????

    三、js連接access數據庫

     

    scEngine.js文件

    //仿数据库连接池类
    function scDBPool(){
        try{
             this.con=new ActiveXObject("ADODB.Connection");
             this.con.Provider="Microsoft.Jet.OLEDB.4.0";
             this.rs=new ActiveXObject("ADODB.Recordset");
        }catch(e){
             this.con=null;
             this.rs=null;
        }
        this.filePath=null;
        this.dbPath=null;
    };


    //设置数据库文件相对(定位文件)路径和数据库名
    scDBPool.prototype.setDB=function(dbPath){
        this.dbPath=dbPath;
    };

    //设置数据库定位文件,这一步可以进连接类中,这里写是方便使用任何名字的数据库
    scDBPool.prototype.setDBPathPosition=function(urlFile){
        var filePath=location.href.substring(0, location.href.indexOf(urlFile));
        this.dbPath=(this.dbPath==null||this.dbPath=="") ? "/calendar.mdb" : this.dbPath;
        var path=filePath+this.dbPath;
       //去除path前面的"files://"字符串
        this.filePath=path.substring(8);
    };

    //同数据库建立连接
    scDBPool.prototype.connect=function(){
     this.filePath="C:\\Documents and Settings\\zhen.wang\\Desktop\\js_calendar\\calendar.mdb";    //access路徑
        this.con.ConnectionString="Data Source="+this.filePath;
     //alert(this.con.ConnectionString);
        this.con.open;
    };

    //执行数据库语句返回结果集
    scDBPool.prototype.executeQuery=function(sql){
        this.rs.open(sql,this.con);
    };

    //执行数据库语句不返回结果集
    scDBPool.prototype.execute=function(sql){
        this.con.execute(sql);
    };

    //关闭结果集
    scDBPool.prototype.rsClose=function(){
        this.rs.close();
        this.rs=null;
    };

    //关闭数据连接
    scDBPool.prototype.conClose=function(){
        this.con.close();
        this.con=null;
    };


    調用:
    <html>
    <head><title>ddd</title>
    <script language="javascript" src="scEngine.js"></script>
    </head>
    <body>

    <script language="javascript">
    var db=new scDBPool();
    db.setDB("calendar.mdb");
    db.connect();
    var sql="insert into cTime(Week) values('ddd') ";
    db.execute(sql);
    /*
    db.executeQuery(sql);
    while(!db.rs.eof){
        var cnt = db.rs.Fields("Data");
        document.write(cnt);
        db.rs.moveNext;
    }
    */
    db.rsClose();
    db.conClose();
    </script>
    </body>


     

  • 相关阅读:
    洛谷 P2807 三角形计数
    洛谷 P1727 计算π
    洛谷 P1595 信封问题
    洛谷 P3131 [USACO16JAN]子共七Subsequences Summing to Sevens
    3.1、spark集群运行应用
    移动端自适应
    【Flex布局】
    【pm2】
    【安全】
    【Bower】
  • 原文地址:https://www.cnblogs.com/wang123/p/1271195.html
Copyright © 2011-2022 走看看