2

TADODataset在 Delphi XE 中使用 dbGo 从 SQL Server 2008 表中读取数据。所有字符串字段都是 nvarchar 或 nchar。

nvarchar 字段映射到TWideStringField没有问题。

问题出在一个nchar(1)字段上,这映射到一个TStringField罚款但不是一个TWideStringField- 当我将该字段配置为时,TWideStringField我收到错误:

字段的类型不匹配'foobar',期望:WideString实际:FixedChar

使用 a 的问题TStringField在于它是 UTF8,我们想让我们的应用程序完全兼容 unicode。

对此有何建议?

4

1 回答 1

0

嗯。该字段用于什么,究竟是什么?

在我见过的大多数数据库设计中,(n)Char(1) 字段通常用于单字母标志 - 可以很容易地用 ASCII 字符表示。

如果是这种情况,我建议将列的类型更改为 CHAR(1)。

于 2011-02-25T18:41:17.193 回答