こんにちわ。comboboxで作成した内容(たとえば、性別の男・女)を変えずにDBのテーブルをupdateしたいのですが、どうしても数字の2が入ってしまいます。どなたか理由お分かりになる方いますか?(バージョンはdelphi5以降で)
まずstring型変数に、
s_combobox := .items[combobox.itemindex];
with query1 do
begin
close;
sql.add('update TTable set gender = :value);
prepare;
params[0].Asstring := s_combobox;
execsql
end;
これで、実行するとdelphiのフォーム上のcomboboxで「男」または「女」を選択しても、数字の2がstring型でTTableにupdateされてしまします。
> params[0].Asstring := s_combobox;
このとき、s_combobox の値を
ShowMessageとかで確認してみると、何が格納されてますか?
showmessageでs_comboboxの内容を表示させたのですが、
空メッセージが表示されました。
ちなみに、comboboxからの値をデータベースのTABLEへ
代入する書き方としては、どこか間違っているところはありますか?
>s_combobox := .items[combobox.itemindex];
の後ろにshowmessageで確認してください。
> params[0].Asstring := s_combobox;
params[0].Asstring := combobox.text;
でも良いですよ。
HOtaさんのやり方で、望んでいた処理ができました。ありがとうございました。
編集 削除