我有DBF格式的数据库,并使用ODBC访问数据库。 当我对表进行更新时,它会返回错误:
警告:odbc_execute()[function.odbc-execute]:SQL错误:[Microsoft] [ODBC dBase驱动程序]索引未找到。,C:\ xampp \ htdocs \ payroll \中SQLExecute中的SQL状态S0012第16行的index.php
根据错误消息,似乎找不到索引。那个指数是什么?怎么修? 下面是我用来进行查询的PHP脚本。
$odbc = odbc_connect ('payroll', '', '') or die('Error connecting to server. Server says: '.odbc_errormsg());
$upd_q = "UPDATE paytran SET empno = 22 WHERE empno = 888";
$update = odbc_prepare($odbc, $upd_q);
$result = odbc_execute($update);
odbc_close($odbc);
使用相同的方法插入新记录。插入查询成功,但不适用于DELETE和UPDATE查询。
答案 0 :(得分:2)
根据this thread中的最后一篇文章,
如果你现在有一个.dbf文件,通常是来自a FoxPro应用程序。而且,因为你有一个.cdx文件,它告诉你 它是一个FoxPro复合索引文件,dBASE不能使用它 当然不能利用它来获得任何速度优势 你想在查询中。
你有一个.cdx
档案吗?如果是这样,您可能需要检查您拥有的版本,然后找到FoxPro驱动程序或OLE DB提供程序,并使用它而不是ODBC。有关如何执行此操作的信息here和here;驱动程序和数据库提供程序是here。