我正在 C++ Builder (Tokyo 10.2.3) 中构建一个简单的 FMX 应用程序,它显示来自 SQLite 数据库的议程数据。我添加了一个TComboBox
让用户过滤呈现的内容。组合框在运行时添加了以下项目(这些是委员会名称):
Show PSSC
Show TD
Show RRMS
我正在使用组合框向数据库上的 SQL 查询添加过滤器。数据集有一个字段committee
,每一行数据都属于这 3 个委员会(PSSC、TD、RRMS)之一。
下面是我将过滤器添加到查询中的代码。它在 32 位 Windows 上运行良好,但在 iOS 或 Android 上运行良好。我正在做的就是"Show "
用..Delete
UnicodeString mystring
mystring = Form1->cmbBoxFilters->Selected->Text;
mystring = mystring.Delete(1, 5);
query->SQL->Text = "SELECT * FROM mtgs WHERE weekday = '" + myday + "' AND committee = '" + mystring + "'";
这就是正在发生的事情,在 32 位 Windowsmystring
中正是它应该的样子。如果我从组合框中选择“显示 PSCC”,则以mystring
“PSCC”结束,查询效果很好。但是,当我在 iOS 或 Android 上运行时,mystring
会出现“SSCC”。所选择的任何内容的第一个字母都变成了 S。我一生都无法弄清楚为什么。
我发帖是因为我只是好奇这个“S”是如何出现在我在 iOS 或 Android 上的原始代码中而不是 32 位 Win 上的。
ps 只需在我的 Firemonkey 表单上使用TFDConnection
、TFDQuery
和。FDPhysSQLiteDriverLink