下面的代码段是利用adodb联接access数据库,需要注意的如下:
1。下栽一个adodb的源代码。http://php.weblogs.com/ADOdb_manual(其实这里面也是直接联接数据库的,不过对于我们,省去了一些细节,使对数据库的操作更加方便了。)
2。配置本地的DNS。
3。注意插入时的类型。
<?
include_once("../class.adodb/adodb.inc.php");
$copname = ".....";
//利用ADODB连接access数据库
$mACCESSDB = &ADONewConnection('access');
$mACCESSDB->PConnect('dayou'); //配置的系统DNS access数据源 $m_CUSTOMER_SQL = "select * from 客户档案 where 牌照号<>''";
$m_CUSTOMER = $mACCESSDB->Execute($m_CUSTOMER_SQL);
for($m_CUSTOMER->MoveFirst(); !$m_CUSTOMER->EOF; $m_CUSTOMER->MoveNext()) {
$mNO = $m_CUSTOMER->fields[0];
$mBDNO = $m_CUSTOMER->fields[8];
$mEGNO = $m_CUSTOMER->fields[9];
$mTMPCOLOR = $m_CUSTOMER->fields[7];
$mCARNO = $m_CUSTOMER->fields[11];
if(...........) { //插入
$_bdno = $mACCESSDB->qstr($mBDNO);
$_egno = $mACCESSDB->qstr($mEGNO);
$_color = $mACCESSDB->qstr($mTMPCOLOR);
$_cano = $mACCESSDB->qstr($mCARNO);
$_licendate = $mACCESSDB->DBDate(strtotime($LICENDATE));
$_mcano = $mACCESSDB->qstr($mOLDCANO);
$_mlicendate = $mACCESSDB->DBDate(strtotime($mOLDLICENDATE));
$m_acc1 = "insert into 领牌错误(bdno, egno, color, cano, licendate, mcano, mlicendate) values($_bdno, $_egno, $_color, $_cano, $_licendate, $_mcano, $_mlicendate)";
if ($mACCESSDB->Execute($m_acc1) === false) {
print 'error inserting: '.$mACCESSDB->ErrorMsg().'<BR>';
}
}
}
?>

解决方案 »

  1.   

    <?php
    $conn = new com("ADODB.Connection");
    $connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("netBook.mdb");
    $conn->Open($connstr);
    $rs = new com("ADODB.RecordSet");
    $rs->Open("select * from data",$conn,1,1);
    while(! $rs->eof) {
    //  $f = $rs->Fields(0);
    //  echo $f->value;
    echo $rs->Fields["content"]->value."<br>";
      $rs->MoveNext();
    }?>
      

  2.   

    楼上的我测试通过了了。
    今天在其它网上找了许多这方面的资料,测试总是不通过。
    多谢xuzuning(唠叨)兄,
      

  3.   

    可以通过ado 的COM对象使用,但是速度太慢了……
    具体例子我曾在php的在线文档的com部分写过
    有兴趣去找找吧……