変数でという事が分からなかったみたいなので詳しく説明します。データベースで生年月日を20001220というように持っています。それをdelphi側で取り出し、2000/12/20というような感じでDBGridに表示したいという事です。
データベースから取り出す際に、delphi側で、自由に使用できたらと思っています。誰かお願いします。

A 回答 (3件)

状況がよくわからないのでいくつか仮定の上で話します。


前提としてTQueryを使用している。
目的の項目は文字列型で、"20001231"のように年4桁月2桁日2桁の固定文字列である。
文字列型を日付型として取り出したい。
TQueryの名前はQuery1,目的の項目名をDATE
とすると。

変数宣言は
var Birthday:TDateTime;
s:string;
DBから変数への格納。
s:=Query1.FieldByName('DATE').AsString;
Birthday:=EncodeDate(StrtoInt(Copy(s,1,4)),StrtoInt(Copy(s,5,2)),StrtoInt(Copy(s,7,2)));

とゆう具合になります。

この回答への補足

たびたび、すみません。分かりやすい説明ありがとうございます。教えてもらったとおりにやったのですが、うまくできません。
出来れば詳しいソースがほしいのですが・・・・・・
先程教えて頂いたのに加え、onClickしたというイベントを起してText.Editに入れるというまでの一連の過程を作ってもらえないでしょうか?
お願いします。

補足日時:2000/12/22 15:27
    • good
    • 0

単に表示上の問題ならTQueryに静的項目を追加し項目のEditMaskに !9999/99/00;0;_ の様に指定すれば表示されます。


変数として取り出してプログラム中で使用するなら年月日をそれぞれ文字列として取り出してEncodeDate関数で日付型に変換すればいいと思います。

この回答への補足

回答ありがとうございます。もう少し詳しく聞きたいのですが・・・・・
もう少し詳しく説明します。
変数として取り出すという事ですが、データベースからデータを取り出し表示する事は出来るのですが、データベースから取り出し変数に格納する方法を教えて下さい。

補足日時:2000/12/22 09:33
    • good
    • 0

Delphi使いのT.Nakです。



フォーマットが固定されているという条件なら、

dt := '20001220';
temp := Format('%s/%s/%s',[Copy(dt,1,4),Copy(dt,5,2),Copy(dt,7,2)]);

で可能だと思います。

この回答への補足

回答ありがとうございます。もう少し詳しく聞きたいのですが・・・・・
もう少し詳しく説明します。
変数として取り出すという事ですが、データベースからデータを取り出し表示する事は出来るのですが、データベースから取り出し変数に格納する方法を教えて下さい。

補足日時:2000/12/22 09:21
    • good
    • 0

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

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ