以下の変数宣言を参照してください。
dim DateTest As Date = DateValue("0:0:0")
実際に初期化された DateTest は何ですか。コードをステップ実行すると、#12:00:00 AM# と表示されます。これをデータベース (日時フィールド) に入力しようとすると、次のように SQLTypeException がスローされます。午後59時。」
DateValue("0:0:0") は日付変数を日付値で初期化しますか?
以下の変数宣言を参照してください。
dim DateTest As Date = DateValue("0:0:0")
実際に初期化された DateTest は何ですか。コードをステップ実行すると、#12:00:00 AM# と表示されます。これをデータベース (日時フィールド) に入力しようとすると、次のように SQLTypeException がスローされます。午後59時。」
DateValue("0:0:0") は日付変数を日付値で初期化しますか?
明らかにDate.MinValue
、 の可能な最小値を返しますDate
。この定数の値は、0001 年 1 月 1 日 00:00:00.0000000 と同等です。0001 年は 1753 年よりも小さいため、データベースは例外をスローします。
知りませんでしたがDateValue
、古い VB 関数の代わりに .NET メソッドを使用していDate.Parse
ました。例えば:
Dim DateTest As Date = Date.Parse("2008-05-01")
ああ、.netの日時フィールドの最小値は、SQLServerの日時フィールドの最小日付よりもはるかに小さいです。一致する値を保存する場合は、SQLサーバーでDateTime2(7)データ型を使用することをお勧めします。
最小日時については、次の記事をご覧ください。
tsql min datetime http://technet.microsoft.com/en-us/library/ms187819.aspx
.net min datetime http://msdn.microsoft.com/en-us/library/system.datetime.minvalue.aspx
tsql datetime2の説明: http ://technet.microsoft.com/en-us/library/bb677335.aspx