【问题标题】:Delphi XE Unicode dealing with nchar(1) fieldsDelphi XE Unicode 处理 nchar(1) 字段
【发布时间】:2011-05-01 06:23:30
【问题描述】:

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

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

问题在于 nchar(1) 字段,这映射到 TStringField 很好但不是 TWideStringField - 当我将该字段配置为 TWideStringField 时,我收到错误:

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

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

对此有何建议?

【问题讨论】:

    标签: sql-server delphi unicode delphi-xe tadodataset


    【解决方案1】:

    嗯。该字段具体用于什么目的?

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

    如果是这样的话,我建议将列的类型更改为 CHAR(1) 案例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-10
      • 1970-01-01
      • 1970-01-01
      • 2011-05-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多