SQLite db からの議題データを表示する C++ Builder (Tokyo 10.2.3) で単純な FMX アプリを構築しています。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ビットWindowsではmystring
、まさにそうあるべきです. コンボボックスから「PSCCを表示」を選択するmystring
と、「PSCC」になり、クエリはうまく機能します。しかし、iOSまたはAndroidで実行すると、mystring
「SSCC」になります。選択されたものの最初の文字は S になります。なぜなのか、一生わかりません。
この「S」が 32 ビット Win ではなく、iOS または Android の元のコードにどのように表示されるかについて興味があるため、投稿しています。
ps Firemonkeyフォームで、、、TFDConnection
およびTFDQuery
を使用するだけです。FDPhysSQLiteDriverLink