今までDOSのデータベースしか経験がなくDelphiでは日付型という項目があり、年月のキーを設定するにはどの型がいいのか経験の多い人の意見を聞きたく書き込みしました。
年月のキーを設定するのに「文字列」「数値型」「日付型」と方法はあると思うのですがメンテナンスしていく上で一番効率がいいのはどれなのでしょうか?
「日付型」は初めてなのでやや不安があるのと、必要なのは年月のみですので日も含んでいる分無駄なのかなと思ったりしてます。
「文字列」だとゼロ詰めなどきちっとプログラムで統一しないと正しく動かないバグが出やすいというデメリットはあります。
「数値型」だとそういうデメリットはありませんが、基本的には年と月の項目を2つ設計する必要があります。
Delphiを長く経験している方で「この方法がいいよ」っていうご意見ありましたらお聞かせください。
DelphiはVersion7でDBMSはDBiSAMを使う予定です。
よろしくお願いいたします。
ジュウザさん、こんにちは。
レスが無い様ですが・・これは一概に「この方法がいいよ」とは
判断できないですね。
年月を有するテーブルが 処理の中でどのように使用されるかにより
決定されたらどうでしょうか?
日付型であれば、日付としてデータを扱えるので メリットも大きいと思います。
DBISAMであればSQL文の中で 年のみ 月のみも取り出し可能ですし
日付の日のダミー値が気にならなければ 日付型でも問題は無いと思います。
それぞれの型での扱いは、把握されていますので使い勝手で決められては・・
AYさんの意見と同じ。
ジュウザさん、基本をご存知なので、無難に日付型でいいではないでしょうか?
これから先、何かあったらということを・・・考えても無難に、トラブルが少ないと思われる方法ですので・・・。
ただ、無駄は感じますよね。
日付いらないんだし・・・。
自分なら、手抜きと安全性で日付型です。
気合をいれたいなら、数値型で挑戦してみたらいかがでしょうか?
文字列は、論外ですよね・・・
大変レス遅くなりました。
数日レスがなかったので諦めていました。
久々に見てみるとレスついてるではありませんか!
どうもすいませんでした。
実は先輩が作成していたプログラムを見本にし、文字列ですることにしたんです。
し、しかし、共感さんの意見では論外ということで「あちゃー」って思いです。
確かに文字列だとゼロプレス忘れたら最悪という弱点がありますよね。
いい点は画面入力がTEditで文字列扱いですから同じ型ということでちょっと便利な面もありますが・・・
まだシステムもスタート地点ですので社内で検討したいと思います。
もし何かアドバイスあれば書きこんでいただけると助かります。
でも「解決」にチェックしたので書き込みできないかも・・・
その時はメールしていただけると大変助かります。
ありがとうございました。
ツイート | ![]() |