1

time(7)SQL Serverデータベースに時間を格納するための列(データ型は)があります。データベースからその値を取得してDateTimePicker(時刻のみを表示するように設定された形式)で表示しようとすると、エラーがスローされInvalidCastExceptionます。

これがキャストが行われるラインです。

r = com.ExecuteReader();
dtpOutTime.Value = (DateTime)r["OutTime"];

エラーがスローされる理由は理解できますが、修正する方法がわかりません。

データベースからの時間のみをに表示するにはどうすればよいDateTimePickerですか?

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

4

1 に答える 1

1

.NETFrameworkSystem.Data.DbType.Timeタイプを使用しますSystem.TimeSpan

例えば:

dtpOutTime.Value = DateTime.Today + (TimeSpan)r["OutTime"];

(TimeSpanをToday深夜に追加し、タイムスパンが6時間になる場合、結果は次のようになります10/22/2012 6:00:00 AM

于 2012-10-22T07:22:56.253 に答える