2013-04-23 63 views
0

嘿家伙早上好,如何通过dbgrid更改mysql数据库的值?

我得到了一个DBGrid和UniDac组件。我使用popupmenu并选择一行。我通过弹出菜单中的onclick事件来填充一个新表单,其中包含我的TEdit中的数据。

现在的问题是,我想编辑我从dbgrid中选择的数据。

此代码一直运行,直到dbgrid刷新,然后旧的值再次回到我的dbgrid中。我怎么能改变它的MySQL表不仅为dbgrid呢?

我的实际代码:

FQuery.Edit; 
    FQuery.FieldByName('CfgUID').AsString := Edit4.Text; 
    FQuery.FieldByName('CfgMod').AsString := Edit1.Text; 
    FQuery.Post; 
+0

您是否在发布后进行了交易?你查询的行有唯一索引吗?他们在官方论坛上回复你的内容? http://forums.devart.com/viewforum.php?f=7 – 2013-04-23 09:38:14

+0

我没有comitted ...而且我有一个唯一的索引行,什么是提交命令? – Hidden 2013-04-23 09:44:56

+0

我没有UniDAC,但阅读了有关交易的帮助。事务是核心SQL概念,你应该至少阅读维基百科关于它们的摘录。然后,如果您的表具有唯一的索引,则这并不一定意味着您的查询具有该索引,UniDAC也不知道这一点。 DevArt的支持团队响应速度非常快,所以只需要在论坛上提问,可以有很多原因,他们知道如何发现它。 – 2013-04-23 09:55:28

回答

1

解决的办法是禁用CachedUpdates即后拨打的ApplyUpdates。

相关问题