我挣扎将数据插入到其通过TDataSourse连接到电网中的TdxMemData。 该MEMDATA -called PurchaseData-有3列:日期(日期),地点(串)和价值(货币)。 我有一个按钮,执行以下操作:

PurchaseData->Insert();
PurchaseData->FieldByName("Date")->Value = TDateTime::CurrentDate().DateString();
PurchaseData->FieldByName("Place")->Value = "";
PurchaseData->FieldByName("Value")->Value = 0.0f;
PurchaseData->Post();

点击一次,它通常插入行和数据出现在网格的新行,但点击该按钮时,我再次得到一个弹出的插入()说“类型的变种(空)无法转换成类型(字符串)”。

我担心的是,在其组合中的列显示属性“KeyFields中的”场“RecId”除了其他3个领域。我不记得创建一个名为RecId任何列,如果我这样做,我删除它。我无法弄清楚它是什么,找不到帮助也没有。

有帮助吗?

解决方案 2

我已经映射OnSelectionChanged网格的事件和新选择的行中读取数据。不幸的是,当PurchaseData->插入()被调用时,SelectionChanged事件被马上解雇。之前新行的数据由下一行设置。我得到空在读取数据,做了坏事情像在弹出的设置的编辑 - >正文它,因此消息。

其他提示

我不是在现在来测试这个权利,但将其更改为这可能工作的地方

PurPurchaseData-> FieldByName( “放置”) - >值=字符串( “”);

如果不工作,你会在路上,你已经设置了列。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top