お伺いします。データベースのテーブル列に、1とか2などの数値型でデータが格納されていたとき、それを取得して、1は「受諾」、2は「拒否」と違う文字でTEdit上に表示するにはどうすればよいですか?
フィールドをHOGEとすると
(方法1)取得後に判定
if Query1.FieldByName('HOGE').AsInteger = 1 then
Edit1.Text := '受諾'
else Query1.FieldByName('HOGE').AsInteger = 2 then
Edit1.Text := '拒否';
(方法2)SQLのSELECT文でCASE式を使う
(データベースが対応していればですけど。)
SELECT
CASE HOGE
WHEN 1 THEN '受諾'
WHEN 2 THEN '拒否'
ELSE 'その他'
END,
Somefield,
....
FROM
(中略)
;
で、いかがでしょう?
いろいろな方法は有りますが、
1,2と決まっているのなら、関数を使えばいかがですか?
procedure getHoge(AI:Integer):String;
begin
case AI of
1:
result := '受諾';
2:
result := '拒否';
else
result := '不明';
end;
end;
として、
Edit1.Text := getHoge(FieldByName('Hoge').AsInteger);
ツイート | ![]() |