この人頭いいなと思ったエピソード

delphi(Object Pascal)における変数のデータ型の判定方法について質問です。

SQLで読み込んだデータがInteger型なのかString型なのか判定したいのですが、どのようにすればいいのでしょうか?

判定ができる関数などがあるのでしょうか?

また、もしそのような関数がなければ、どのようにデータ型の判定を行えばいいのでしょうか?

ご存知の方がいらっしゃれば、ぜひ教えてくださいm(__)m
よろしくお願い致しますm(__)m

A 回答 (2件)

SQLからということですので、取得したフィールドの.DataTypeで判定できるのではないでしょうか?


ftInteger32 ビット整数項目
ftString文字または文字列項目
他...
    • good
    • 0
この回答へのお礼

返信が遅くなって申し訳ございません。

.DataTypeというものがあるのですね!
ftInteger,ftStringも調べてみます。

ありがとうございましたm(__)m

お礼日時:2009/09/26 00:45

型が判らないでSQL文が書けるのでしょうか?



ともかく簡単な試験をしてみました

var
st:String;
it:integer;
vv:Variant;
begin
st:='st';
vv:=st;
it:=vv;

実行すると it:=vv; で
Could not convert variant of type (String) into type (Boolean)

のエラーになります。適当なエラー処理を施せば、判定関数ができるのでは?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
返信が遅くなってすみません。

SQLで読み込んでくるデータの型はわかっているのですが、
読み込み先の変数(String型)が一つしかないので、
Integer型のデータが読み込まれた際に、読み込み先の変数に格納できません。
(ちょっと説明しにくいのですが、ループで一気に読み込ませているので、変数を一つしか用意できないのです)
それで、読み込むデータの型を事前に判定できればうまくいくと思い、質問させていただきました。

エラー処理を使った判定関数考えてみます。
ありがとうございましたm(__)m

お礼日時:2009/09/17 23:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報