comboboxの内容をDBへ反映

解決


mimi  2010-01-16 21:55:27  No: 37045

こんにちわ。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されてしまします。


igy  2010-01-17 00:11:07  No: 37046

>  params[0].Asstring := s_combobox;

このとき、s_combobox の値を
ShowMessageとかで確認してみると、何が格納されてますか?


mimi  2010-01-17 20:16:33  No: 37047

showmessageでs_comboboxの内容を表示させたのですが、
空メッセージが表示されました。

ちなみに、comboboxからの値をデータベースのTABLEへ
代入する書き方としては、どこか間違っているところはありますか?


HOta  2010-01-17 21:51:56  No: 37048

>s_combobox := .items[combobox.itemindex];
の後ろにshowmessageで確認してください。

>   params[0].Asstring := s_combobox;
   params[0].Asstring := combobox.text;
でも良いですよ。


mimi  2010-01-25 14:38:38  No: 37049

HOtaさんのやり方で、望んでいた処理ができました。ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加