我在我的Delphi 7应用程序中有以下的TSQLDataSet
。它从表格MyTable中获取2个字段(ID和Name)。
object SQLDataSet: TSQLDataSet
GetMetadata = False
CommandText = 'select * from MyTable'
MaxBlobSize = -1
Params = <>
SQLConnection = mySQLConnection
object SQLDataSetID: TIntegerField
FieldName = 'ID'
ProviderFlags = [pfInUpdate, pfInWhere, pfInKey]
Required = True
end
object SQLDataSetNAME: TStringField
FieldName = 'NAME'
Required = True
Size = 50
end
end
当我迁移到Delphi XE4时,我遇到了以下错误:
class EDatabaseError with message 'SQLDataSet: Type mismatch for field 'NAME', expecting: String actual:WideString'
这个问题可能的原因是什么,我应该如何解决呢?
注意:我正在使用firebird 2.5.2
。
TStringField
更改为TWideStringField
。 - ZigiZWideString
。 - Jeroen Wiert Pluimers