我使用下一个代码在非自动通信连接上发布一些记录:
ZConnection1.AutoCommit := False;
try
ZTable1.Insert;
ZTable1.FieldByName('name').AsString := 'John Doe';
ZTable1.Post;
ZConnection1.Commit;
except
ZConnection1.Rollback;
end;
当我运行此代码时,我的数据库中没有保存任何内容。
在我尝试下一个代码之后......
ZConnection1.AutoCommit := False;
with ZQuery1 do begin
SQL.Text := 'INSERT INTO mytable (name) values ("John Doe")';
ExecSQL;
SQL.Text := SQL.Text + 'COMMIT' ;
try
ExecSQL;
except
SQL.Text := 'ROLLBACK';
ExecSQL;
end;
end;
...一切都完美无缺。
我在第一种情况下做错了什么?我使用 Delphi6、MySql、Zeos 库和 InnoDB 表。