Attempt to open DBGrid from SQLITE DB created with Unicode/CreateUTF16 fails with expecting: String actual: WideString?

问题描述 投票:0回答:0

我决定将我的 C++ Builder 项目从 SQLITE 默认的

StringFormat=Choose
OpenMode=CreateUTF8
移动到 Unicode 版本:

SQLiteFDConnection->Params->Values["StringFormat"]=_T("Unicode");
SQLiteFDConnection->Params->Values["OpenMode"]=_T("CreateUTF16");
// NOTE: The same thing happens if I create it with:
//SQLiteFDConnection->Params->Values["OpenMode"]=_T("CreateUTF8");

因为

VARCHAR
字段不会使用日文字符(结果为 ??)。但是,我什至无法使用这两个设置打开新数据库而没有得到:

项目引发了异常类 EDatabaseError,消息为“Table1: 字段“名称”的类型不匹配,期望:实际字符串:WideString'。

姓名是

VARCHAR
项目之一(第一个)。

在另一个线程中提到设置

TFDQuery
Charset
但是在 C++ Builder 中似乎没有
FDQuery1.Params.Strings['Charset'] := UTF8Charset
可用。

使用

Unicode
字符串格式
VARCHAR
时,手册说SQLITE将是
UnicodeString
.

我一定很明显漏掉了什么,那是什么?

TIA!!

sqlite c++builder firedac
© www.soinside.com 2019 - 2024. All rights reserved.