2011-03-14 7 views

答えて

4

私はあなたの目的のためにTimeSpanのデータ型を使用できると思います。 articleは、ado.netのTimeデータ型の使用方法を説明しています

1

どのようにデータにアクセスしていますか?エンティティフレームワーク、ストアドプロシージャなどの使用
日付の文字列表現を渡す必要がある場合は、 "yyyy-mm-dd hh:mm:ss"の形式で指定する必要があります。そうしないと、dd/mm/yyyy対mm/dd/yyyyの混乱。 Entity FrameworkまたはDataSetsを使用している場合は、DateTime.NowなどのDataTimeインスタンスを渡すだけです。

+0

キャッスルアクティブレコードを使用してデータにアクセスしています – rdk

39

ここには、MSDN articleがあり、ADOに関してSQL Server 2008で導入された新しい日付と時刻のデータ型をすべて確認します。ネット。ドキュメントが言うように:あなたは、.NET Framework型を使用しますSystem.Data.DbType.TimeについてマイクロソフトからSystem.TimeSpanまた

5

も、人々はそれ以来

、私はお勧めしませんSystem.TimestampへのSQLデータ型の時間はそうマッピングをお勧めする傾向があります00:SQL時間の範囲は00 00.0000000から23:59:48:05.4775808から10675199.02:59.9999999

のSystem.TimeSpanの範囲は10675199.02あるwheras 48:05.4775807

わずかに異なっているとすることができますランタイムエラーが発生します。

+2

お勧めですか? – Roberto

+0

あなたはどんな環境を持っているかに依存して、通常、必要に応じて数秒またはミリ秒を保存する傾向があります。 –

0

次のような文を使ってdatareaderを使って読むことができます。

TimeSpan time = dr.GetTimeSpan(dr.GetOrdinal(“Time7FieldName”));