:
$conn = new COM("ADODB.Connection");
$conn->Open('Provider=VFPOLEDB.1;
Data Source="C:\Users\TEMP.HIDEAZSERVER\Desktop\databaseetc\testdata";');
$query = "UPDATE sitedetl set NAME = \"AA\", CUST_CODE = \"Updated value\" ";
$conn->Execute($query);
$query = "SELECT * FROM sitedetl WHERE UNIQUEID = '00000000190'";
$rs = $conn->Execute($query) or die("Error in query: $query. " . $conn->ErrorMsg());
while (!$rs->EOF) {
echo " Got NAME: " . $rs->Fields("NAME") . " :: CUST_CODE: " . $rs->Fields
("CUST_CODE");
$rs->MoveNext();
}
选择查询正在运行,但更新查询未运行....
我在更新查询执行时遇到此错误:
Fatal error: Uncaught exception 'com_exception' with message '
Source: Microsoft OLE DB Provider for Visual FoxPro
Description: File 'ws_ri.prg' does not exist.' in D:\xampp\htdocs\websims\test_config.php:7
Stack trace:
#0 D:\xampp\htdocs\websims\test_config.php(7): com->Execute('UPDATE sitedetl...')
#1 {main} thrown in D:\xampp\htdocs\websims\test_config.php on line 7
答案 0 :(得分:3)
已配置FoxPro DBC,以便 sitedetl 表在UPDATE上添加关系完整性触发器,在本例中为“ws_ri.prg”
可能最初创建数据库的程序包含ws_ri
的定义,并且因为您没有通过所述可执行文件,所以您会遇到错误。 (这就是为什么正确分离关注点是个好主意的原因,孩子们!)
要解决问题,您应该只需将ws_ri.prg文件添加到C:\ Users \ TEMP.HIDEAZSERVER \ Desktop \ databaseetc \ testdata。
您可能还想尝试连接到DBC本身,而不是文件夹。