我想知道TZQuery/TAConnection是否能够在运行时处理连续的SQL语句和编辑数据库,即:
ZQuery.Close;
ZQuery.SQL.Clear;
ZQuery.sql.add('select * from Table1');
ZQuery.Open;
ZQuery.FieldByName('First_Field').AsInteger := 5;
/// I do my stuff here with Table1 here
// I switch to another table
ZQuery.Close;
ZQuery.SQL.Clear;
ZQuery.sql.add('select * from Table2');
ZQuery.Open;
ZQuery.FieldByName('First_Field_of_Table2').AsInteger := 12;在运行时使用上述代码在数据库中所做的任何更改都不会反映在DBGrid中,并且保持不变。我研究了TZConnection和TZQuery组件的许多属性(自动提交、readCommited等)。让记录显示在datagrid中,但这是徒劳的斗争。
有趣的是,对数据库所做的每一处更改都完全按照我想要的方式应用,因为我从FlameRobin监控它,一切都很好,所以数据库实际上没有问题,但问题出在数据源& DBGRid没有反映数据库的当前状态。
发布于 2021-05-20 20:33:55
我也注意到了同样的行为。我已经从Lazarus和PHP更新了我的数据库。从PHP进行的更新或插入只有在ZConnection断开连接和连接后才可见。简单的ZQuery关闭和打开不起作用。但是,当在Lazarus应用程序中更新数据时,关闭和打开工作。
https://stackoverflow.com/questions/24771892
复制相似问题