我从 TDBGrid 继承了 class,我希望它能够记住特定用户对列顺序和列宽所做的任何修改。 而且,我希望能够完全在网格本身内完成此操作。 我不想将代码附加到 TDataSet,因为这个网格在我的应用程序中被广泛使用,我想在我的所有网格中实现这个功能,而不需要重复代码。 我已经把持久性部分放下 ...
我从 TDBGrid 继承了 class,我希望它能够记住特定用户对列顺序和列宽所做的任何修改。 而且,我希望能够完全在网格本身内完成此操作。 我不想将代码附加到 TDataSet,因为这个网格在我的应用程序中被广泛使用,我想在我的所有网格中实现这个功能,而不需要重复代码。 我已经把持久性部分放下 ...
我正在使用查询(实际上是来自 Devart 的 TMyQuery,从 TDataSet 继承)从 mySQL 数据库中获取数据。 通常我使用fieldbyname()在while not eof循环中一次处理一个字段。 由于某些处理很复杂,我想取而代之的是获取整个记录并将其传递给一个过程,以便处理 ...
我正在设置一个新的过程,该过程将在执行查询后显示一条消息。 我正在使用“ AfterOpen”事件,我必须传递“ DataSet:TDataSet”参数。 有人可以向我解释一下什么是DataSet变量,什么是我必须作为第一个参数传递给过程的? ...
Delphi tDataSet.Append似乎不调用Post。 它在参考中说 更改数据集状态的数据集方法(例如“编辑”,“插入”或“追加”)或从一个记录移动到另一个记录(例如“第一”,“最后”,“下一个”和“上一步”)的数据集方法会自动调用“发布”。 但是在以下代码中我看不 ...
在下面的tFDMemTable中,我尝试对ID字段以字母A开头的记录的值进行求和.A1,A2和结果应为4。 我编写了以下代码,但它将tDBGrid更改为已过滤。 我想要的只是一个内部过程,tDBGrid应该保持不变。 我知道tDataSet.Locate不允许NEXT SEAR ...
我有一个由几种形式共享的DataModule,并且我建立了一个过程来处理作为参数传递的TFDMemtable。 为了对其进行处理,我必须禁用事件AfterPost和AfterDelete,并且在结束处理时必须将其重新启用。 我不希望将它们重新启用,因为我无法以“ actualnameAfte ...
我正在使用主从连接显示明细表的已分配列的列表。 另外,我想显示未分配明细列的第二个网格 主表t_human示例:idHU,nameHU(例如John,Oscar等) 详细信息表t_property:idPO,namePO(例如,男性,女性,金发,胡须,蓝眼睛...) 联接表t_h ...
我是从TClientdataset派生出来并试图定义一个'总是运行'的AfterPost事件。 我已经尝试在构造函数中分配我的AfterPost事件,但派生的组件似乎没有提取它 我正在尝试做的事:在新记录中,设置Finserting := True ; 在post之后,运行用户提供的 ...
对于使用数据库应用程序的人员,我认为能够从TDataSet后代读取记录值而不必移动光标的能力是一项很大的进步。 我已经在这个主题上进行了漫长而艰苦的搜索,但是我能找到的最接近的是XE7 TFDMemTable,您可以在其中使用如下语句读取字段值: 哪里 fdsPeople ...
我已经在应用程序外部使用COM方法传递了TDataSet.Recordset: _Recordset接口。 但是我看到了一个疯狂的数据库数据。 如何从_Recordset ADO接口访问Delphi的TField.DisplayText ? ( TField.DisplayText在OnG ...
我使TDataset后代成为异步的,而不是主线程中的sleep或ProcessMessages ,它由网络线程中的事件起作用。 因此,当Recordset准备就绪时,它将调用 它的工作原理,但有时我有问题GetRecord通过Open从这个线程和DBGrid中的所谓GetFieldDa ...
我正在使用 UniDAC 的 TUniQuery 组件。 我想显示我有多少记录,所以 我已将以下代码显示在状态栏中: UnyQuery1.RecordCount 始终返回零。 但是,如果我从按钮单击事件运行此代码,则它可以工作。 我做错了什么? ...
我想在用户单击无用的时候禁用控件。 一种特殊情况是一组自定义菜单按钮,它们模拟标准TDBNavigator的第一个,上一个,下一个和最后一个按钮。 当用户单击第一个按钮时,第一个和上一个按钮均被禁用。 当用户然后单击“下一个”和“上一个”按钮时,基础的TDataSet与以前位于 ...
我的数据库中有一个必填字段(NOT NULL),但允许使用空字符串。 我如何获得一个delphi TDataset来使用它? 将字段对象的required属性设置为true或false时,它似乎仍试图存储null而不是空字符串。 有关信息,请使用TIBDataset和TIBStri ...
正如在问题的标题中,我与一位同事争论如何使用计算字段。 据我所知,计算字段是在运行时创建的,就像François关于在运行时向查询添加计算字段的问题的答案 一样 。 在同一个问题上还有另一个答案 ,从sabri.arslan建议将现有字段更改为计算字段(代码低于) 我相信这种变化会导 ...
当底层数据集中的记录数大于时,是否可以从DBGrid的最顶行中获取从基础数据集显示的行号,而不是最顶行是当前选定的行。 DBGrid中显示的行数,并且已滚动DBGrid。 这是我的问题。 从附加到DBGrid的拖放事件处理程序,我可以使用MyGrid.MouseCoord(X,Y).Y确 ...
我正在使用BDE和平面表。 我有两个相同的表, tblOne和tblTwo我正在尝试将数据从一个表复制到另一个表。 不是整个数据库,而是一个使用此的特定记录: 逐步执行此操作,对于“ From”表,所有值均为“ Null”。 发布后,我得到一个空白记录添加到tblTo 。 所 ...
我在绑定到网格的Delphi 5中(从TQuery派生的)有一个TRxQuery。 我要添加一个过滤器编辑框,并希望在用户键入时对网格进行过滤。 有没有一种方法可以过滤数据集而无需关闭并重新打开查询,因为这会导致不必要的闪烁。 非常感谢 ...
我想创建一个“重复记录”操作,在调用时,复制任何TDataSet后代中的当前记录。 如何确定数据集是否为主/明细关系的主数据集? 使用TClientDataSet它很容易,但我需要这个动作与TDataSet所有后代一起使用。 ...