【发布时间】:2013-07-29 16:21:39
【问题描述】:
您好,我有一个使用 TMySQL51Connection、TSQLTransaction 和 TSQLQuery 模块的表单设置,它可以毫无问题地从数据库中检索信息,但我在更新时遇到了问题。
数据库非常大,所以我只从第一行开始,一旦它们正常工作,我将扩展查询。
我的TSQLQuery.UpdateSQL如下
UPDATE table SET
ContactFirst = :ContactFirst,
ContactSur = :ContactSur
WHERE AccountID = :AccountID
然后我的表单中有一个按钮,onCLick 事件包含:
begin
accSelect.Edit;
accSelect.Post;
accSelect.ApplyUpdates;
dbTransaction.CommitRetaining;
sqlbl1.Caption := accSelect.UpdateSQL;
end;
单击按钮对数据库没有任何作用,它不会生成错误消息,只是更新 sqlbl1 上的标题。有没有办法预览 Lazarus 向数据库发送的内容,其中包含值,以便我可以追踪出了什么问题?
我尝试向 SQLConnection 添加一个日志事件,但不知道如何让它生成日志。
【问题讨论】:
-
您知道如何在 IDE 中“进入”和“跳过”代码吗?你的 IDE 支持 Watches 吗?我知道在 Delphi 中,您可以一次单步执行代码,只需将鼠标悬停在变量上即可查看其当前值(即在调试模式下)。如果您希望我们为特定预期功能找到错误或不完整的编码,我认为您需要发布更多代码。
-
您是否为参数赋值(例如 ParamByName ('ContactFirst') .Value := SomeVariant)?也许您需要在 Edit 和 Post 之间调用 TSQLQuery 上的 Update 或 Exec 方法?
标签: mysql sql delphi pascal lazarus