用函数:(非SQL语句)
1.已知字段名zdn,要求得到字段值;
2.已知字段序号n,要求得到字段名;
3。如何按一字段值定位记录,参数:字段名zdn,字段值zdv,请定位到某一记录;

解决方案 »

  1.   

    to alexzhang00(三角猫):
       双星高手,如何用php的ADO函数实现以上功能?
      

  2.   

    1. $recordSet->fields["zdn"]
    2. $recordSet->fields[$n]->name;3. 为什么要这么做? 你的要求应该是直接查询的啊, 类似:
    $recordSet = &$conn->Execute("SELECT * FROM table1 WHERE zdn='$zdv'");
      

  3.   

    ADODB 有MANUAL的啊, 你应该仔细看一下
      

  4.   

    $recordSet->fields["zdn"] 和 $recordSet->fields[$n] 是要设置 ADODB 的 FetchMode的, ADODB_FETCH_ASSOC/ADODB_FETCH_NUM/ADODB_FETCH_BOTH/ADODB_FETCH_DEFAULT
      

  5.   

    $recordSet->Locate()之类的有没有?
      

  6.   

    FetchMode()不明白,能不能举一例?
      

  7.   

    $conn = ADONewConnection('access');
    $dsn = "Driver={Microsoft Access Driver (*.mdb)};".
           "Dbq=$dbf;Uid=;Pwd=;";
    $conn->Connect($dsn);
    $conn->setFetchMode(ADODB_FETCH_ASSOC);
    ....
      

  8.   

    adodb/docs/docs-adodb.htm中有详细例子.
      

  9.   

    2.     $zt=$rs->FetchField($i);         // 以序号取字段属性
           print $zt->name;               // 字段名
    1.     $db->SetFetchMode(ADODB_FETCH_ASSOC);   // 设定按字段名访问记录
           $rs = &$db->Execute('SELECT * FROM table1');
           print $rs->fields["字段名"];
      

  10.   

    <html>
    <?phpinclude('c:/php/adodb/adodb.inc.php');$dbf="f:\\dxzxoa\\ado\\test.mdb";
    $dsn="Driver={Microsoft Access Driver (*.mdb)};".
         "Dbq=$dbf;".
         "Uid=;Pwd=;";
    $db=ADONewConnection('access');
    $db->Connect($dsn);
    $db->SetFetchMode(ADODB_FETCH_ASSOC);   // 设定按字段名访问记录
    $rs = &$db->Execute('SELECT * FROM table1');
    // 数组$rs->fields将以字段名为下标// print "记录数: ".$rs->RecordCount()."<br>";
    // print "字段数: ".$rs->FieldCount()."<br>";
    // print "<br>";  
    /*
    for ($i=0,reset($rs->fields);$zdn=key($rs->fields);next($rs->fields))
        {   // 办法一:从数组下标取字段名
            print $zdn.' ';    // 字段名
            $zd[$i++]=$zdn;    // 保存到另一数组$zd[]中
        }
    print '<br>';
    */
    print "<table border=1>";
    print "<tr>";
    for ($i=0;$i<$rs->FieldCount();$i++)
        {   // 另一种办法取字段名
            $zt=$rs->FetchField($i);         // 以序号取字段属性
            print "<th>$zt->name</th>";      // 字段名
            // print $zt->type."<br> ";      // 字段类型
            // print $zt->max_length."<br>"; // 字段长度
        }
    print "</tr>";   
    while (!$rs->EOF) 
        {
            print "<tr>";
            for ($i=0;$i<$rs->FieldCount();$i++)
              {
                 $zt=$rs->FetchField($i);            
                 $zdn=$zt->name;
                 print "<td>".$rs->fields[$zdn]."</td>";  //按字段名访问
              }
            print "</tr>";
            $rs->MoveNext();
        }
    print "</table>";
    $rs->Close(); 
    $db->Close(); 
    ?>
    </html>
      

  11.   

    呵呵,就差3定位了!
    php人妻太茶
      

  12.   

    为何俩句
    $zt=$rs->FetchField($i);            
    $zdn=$zt->name;
    合成一句 $zdn=$rs->FetchField($i)->name;            
    却出错