我在Delphi XE中使用dbGo TADODataset
来读取SQL Server 2008表中的数据。所有字符串字段都是nvarchar或nchar。
nvarchar字段映射到TWideStringField
没有任何问题。
问题在于nchar(1)
字段,这会映射到TStringField
罚款但不会映射到TWideStringField
- 当我将字段配置为TWideStringField
时,我得到了错误:
字段
'foobar'
的类型不匹配,期望:WideString
实际:FixedChar
使用TStringField
的问题在于它是UTF8,我们希望使我们的应用程序完全兼容unicode。
对此有何建议?
答案 0 :(得分:0)
嗯。该字段用于什么,确切地说?
在我看过的大多数数据库设计中,通常使用(n)Char(1)字段 单字母标志 - 可以很容易地用ASCII字符表示。
我建议将列的类型更改为CHAR(1),如果是的话 情况下。