【发布时间】:2011-02-01 04:41:03
【问题描述】:
我正在使用 Delphi 中的查询获取数据,并希望在查询运行之前将计算字段添加到查询中。计算字段使用代码和查询中的值,所以我不能只在 SQL 中计算它。
我知道我可以附加一个OnCalcFields 事件来实际进行计算,但问题是添加计算字段后查询中没有其他字段...
我做了一些挖掘,发现所有的字段定义都被创建了,但实际的字段只是被创建了
if DefaultFields then
CreateFields
指定默认字段
procedure TDataSet.DoInternalOpen;
begin
FDefaultFields := FieldCount = 0;
...
end;
这表明如果您添加字段,您只会获得您添加的字段。
我想要查询中的所有字段以及我添加的字段。
这可能吗,还是我必须添加我正在使用的所有字段?
【问题讨论】:
-
我不明白为什么你不能在你的 SQL 中使用代码中的值......我定期构建动态 SQL 语句,这些语句使用 SQL 中代码中的值......
-
查看我的答案,了解自 delphi Berlin 以来的新方法
-
您是否尝试准备查询?它可能已经创建了 fielddefs(虽然还不是字段对象)