我正在使用Delphi中的dbGo TADODataset
读取Server 2008表中的数据。所有的字符串字段都是nvarchar或nchar。
nvarchar字段映射到TWideStringField
,没有任何问题。
问题在于nchar(1)
字段,它映射到TStringField
罚款,但不映射到TWideStringField
-当我将字段配置为TWideStringField
时,会得到错误:
字段
类型不匹配
'foobar'
,期望:WideString
实际:FixedChar
使用TStringField
的问题在于它是UTF8,我们希望使我们的应用程序完全兼容unicode。
对此有什么建议吗?
发布于 2011-02-25 10:41:17
嗯。这个字段到底是用来干什么的?
在我见过的大多数db设计中,(n) char (1)字段通常用于一个字母标志--这可以很容易地在ASCII字符中表示。
如果是这样的话,我会将列的类型更改为CHAR(1)。
https://stackoverflow.com/questions/4032667
复制