• 締切済み

delphiとデータベースについて(追加)

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

みんなの回答

  • lucilis
  • ベストアンサー率40% (4/10)
回答No.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))); とゆう具合になります。

kenzouu
質問者

補足

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

すると、全ての回答が全文表示されます。
  • lucilis
  • ベストアンサー率40% (4/10)
回答No.2

単に表示上の問題ならTQueryに静的項目を追加し項目のEditMaskに !9999/99/00;0;_ の様に指定すれば表示されます。 変数として取り出してプログラム中で使用するなら年月日をそれぞれ文字列として取り出してEncodeDate関数で日付型に変換すればいいと思います。

kenzouu
質問者

補足

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

すると、全ての回答が全文表示されます。
noname#18951
noname#18951
回答No.1

Delphi使いのT.Nakです。 フォーマットが固定されているという条件なら、 dt := '20001220'; temp := Format('%s/%s/%s',[Copy(dt,1,4),Copy(dt,5,2),Copy(dt,7,2)]); で可能だと思います。

kenzouu
質問者

補足

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

すると、全ての回答が全文表示されます。

関連するQ&A