none
DateTimePickerの日付について RRS feed

  • 質問

  • 日付について、テキストボックスではなく

    DateTimePickerを使ってデータをバインドしていますが、

    Null値の場合、今日の日付などを勝手に表示して、利用者は、あたかも入力した錯覚してしまい、

    データベース側で、Null値を許可していない場合、エラーが発生します。

    データベースに更新する際に、このようなチェックをし、デフォルトで今日の日付を設定するなどするには、どうしたらいいのでしょうか?

    入力をテキストボックスに切り替える方が無難でしょうか?

    表示などがわかりやすいので、なるべくDateTimePickerを使用したいのですが・・・

    2006年9月5日 15:05

回答

  • データベース側で規定値を作るようにしたらどうでしょうか?
    SQL2000サーバーの場合テーブルのデザインで規定値に「(getdate())」を入れてやります。
    SQL2005では規定値またはバインドになってます。
    NULLを許容をはずしておく必要もあります。

    2006年9月17日 13:20

すべての返信

  • どのようなフォームで使用されるのかわからないのですが、よくMaskedTextBoxを使います。直接ここに手入力もできますが、その横に日付ボタンを用意して、それをクリックするとカレンダーが表示され、それで日付を選択させてMaskedTextBoxにセットするということもよくやります。
    2006年9月5日 15:24
    モデレータ
  • データベースにDateTime型を設定している場合、

    データセットから、ドロップすると、デフォルトで作成されます。

     

    MaskedTextboxてのがあるんですね。

    ちょっと作って試してみます。

    2006年9月7日 3:46
  • データベース側で規定値を作るようにしたらどうでしょうか?
    SQL2000サーバーの場合テーブルのデザインで規定値に「(getdate())」を入れてやります。
    SQL2005では規定値またはバインドになってます。
    NULLを許容をはずしておく必要もあります。

    2006年9月17日 13:20
  • Formのコード上でnullチェックを行うプロシージャの中にnullの場合、その日を入力するように追記したところ解消できました。

    また、上記の方法でなくても、SQL Serverの規定値に入れても解消できました。

    ありがとうございました。

     

    2006年9月21日 6:34