1

我的 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。

4

1 回答 1

1

我找到了错误的原因:

当我看到 dsDestination 数据集的字段编辑器时,里面填满了 dsSource 的字段。我刚刚从 dsDestination 的字段编辑器中删除了所有字段,构建并编译了项目,问题就解决了。

于 2013-09-26T15:39:40.773 回答