【发布时间】:2013-09-26 14:34:02
【问题描述】:
我的 Delphi XE4 应用程序中有 2 个数据集,如下所示:
object dsDestination: TpFIBDataSet
object Field1: TFIBStringField
FieldName = 'MYSTRING'
Size = 1
Transliterate = False
ene
object Field2: TFIBIntegerField
FieldName = 'MYINT'
end
end
object dsSource: TpFIBDataSet
object dsSourceMYSTRING: TFIBStringField
FieldName = 'MYSTRING'
Size = 1
Transliterate = False
end
object dsSourceMYINT: TFIBIntegerField
FieldName = 'MYINT'
end
end
当我尝试以下语句时:
dsSource.Open;
dsDestination.OpenAsClone(dsSource);
最后一行出现以下错误
dsDestination: Field MYSTRING not found
在 Delphi 7 中一切正常。我的 Delphi 7 应用程序使用的是 Firebird 2.5.1,而 Delphi XE4 使用的是 2.5.2。我正在使用 FIBPlus 7.5。
【问题讨论】:
-
什么是
TpFIBDataSet?我在标准 VCL 组件或任何地方的文档中都没有看到它,也无法在文档中找到OpenAsClone。 -
@KenWhite - 我使用的是 Firebird 数据库和 FIBPlus,而不是 dbexpress。 TpFIBDataSet 类似于 dbexpress 中的 TSQLDataSet。 OpenAsClone 函数在 firebird 的 FIBDataSet.pas 文件中定义。
-
那么你应该edit你的问题提到你正在使用FIBPlus,这样人们在阅读它时就知道了。 :-)(它有助于检查并查看它是否也有标签;我已将其添加到您的问题中。)
标签: delphi delphi-7 delphi-xe4 fibplus