我想知道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并不反映数据库的当前状况。