C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: DateTimePickerから返される値


(過去ログ 117 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■69034 / inTopicNo.1)  DateTimePickerから返される値
  
□投稿者/ Яアルビノフォックス (4回)-(2013/11/29(Fri) 08:55:40)

分類:[C#] 

DateTimePickerにバインドしたときに発生した例外についての質問です。開発環境はVisual Studio 2010 言語はc#です。
DateTimePickerに入力された日付の値をデータベースに書き込みたいので以下のようなコードを書きました。

buyTimePicker.DataBindings.Add("Value", b, "BuyDate");

buyTimePickerは入力されるDateTimePicker、bは該当データベースのbindingSource,"BuyDate"はテーブルの要素名です。
返したい値は"2010/10/10"のようなdate型です。
デバッグしたところ以下のエラーが出ました。

0001/01/01 0:00:00' の値は 'Value' に対して有効ではありません。'Value' は 'MinDate' と 'MaxDate' の間でなければなりません。
パラメーター名: Value

また以下のコードを試験として入れてみたところ普通に値が帰ってきました。

textBox.Text=buyTimePicker.Value.Tostring();

帰ってきた値は2013/11/29 0:00:00というものでした。時刻はいらないのですが、問題ないハズです。 

以前同じ条件で同じコードを入れたときは通ったので、どういうことなのかがわかりません。
基本的な質問で申し訳ありませんが、よろしくお願いします。
引用返信 編集キー/
■69036 / inTopicNo.2)  Re[1]: DateTimePickerから返される値
□投稿者/ Яアルビノフォックス (6回)-(2013/11/29(Fri) 09:48:46)
自己解決しました。
フィールド変数を指定していたのですが、そこでnullの時に入れる数値を設定し忘れてたようです。

つまり
BuyTime=_item.Buytime ?? DateTime.Today;
と書くべきところ(nullが入ってたら今日の日付を入れる)を
BuyTime=_item.Buytime;
としていた、ということです。

データベースの設定の時にnull許容しなかったのでエラー無しで通ってたようです。
お騒がせしました。これにて解決といたします。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -