在使用Delphi开发移动应用程序时,我面临着这个烦人的问题。 顺带一提,尽管我一直是Delphi的忠实拥护者,尽管它在桌面/ VCL开发方面表现出色,但其Firemonkey框架仍需要大量工作。
我已经遵循了所有有关创建简单CRUD的教程,但是缺少某些内容或缺少某些内容。无论如何,我使用Visual Live绑定建立了所有必需的链接。所以,这是场景:
我有一个带有以下查询的TDFQuery:“从客户中选择*” 该TDFQuery链接到BindSource,该BindSource链接到我的ListView和表单上的所有TEdit组件。现在,ListView很好,它显示了我的所有客户。如果单击客户,则会将其所有数据带到表单进行编辑。到目前为止,一切顺利,我看到了从表中检索到的数据,我编辑了数据并单击“保存”按钮,然后..什么都没有。尽管TDFQuery处于dsEditModes中,但该数据未在数据库表上更新,这是在单击客户-'DTM.QryClientes.Edit;'时设置的。
以下是“保存”按钮的代码:
if DTM.QryClientes.State in dsEditModes then
begin
DTM.QryClientescl_aniversario.Value := DateEditAniversario.Date;
DTM.QryClientescl_estado.Value := copy(ComboBoxCliEstado.Items[ComboBoxCliEstado.ItemIndex], 1, 2);
DTM.QryClientescl_status.Value := ifthen(SwitchCliStatus.IsChecked, 'A','I');
DTM.QryClientes.Post;
end;
在有人问之前,就像我之前说的,一切都与一切联系在一起。对于每个TEdit,TDFQuery的字段列表中都有一个相互链接的字段。