0

こんにちは、DateTime.Now.ToString() を使用して時刻を取得し、それを smalldatetime の列にプラグインするプログラムがあります。これは以前は機能していましたが、今ではこのエラーが発生します。

「式をデータ型 datetime に変換する算術オーバーフロー エラー。ステートメントは終了しました。」

私は何を間違っていますか?

これは私のSQL文です

command.CommandText = @" INSERT INTO Mail1 (UserID, Subject, Feedback, Date_Sent_On)
                         VALUES (@UserID, @Subject, @Feedback, @Date_Sent_On)";
4

2 に答える 2

2

@Date_Sent_Onパラメータは代わりに型である必要があり、DateTimeその値としてstring渡す必要があります。DateTime.Now

での日付の書式設定はカルチャに依存するため、使用DateTime.Now.ToString()は非常に信頼できませんToString()。コンピューターの地域設定とアプリケーションのカルチャ設定に応じて、異なる結果が生成される可能性があります。

于 2012-11-15T18:55:16.580 に答える
-1

あなたも使うことができます

requestdatetime between '7/1/2011' and GETDATE()

SQLステートメントで現在の日付を取得します。

また、次のようなものを使用すると便利な場合があります。

SELECT 
  cast(datepart(mm, M.REquestdatetime) as varchar) + '/'
  + cast(datepart(yy, M.REquestdatetime) as varchar) as [Day]
FROM ...

MM-YYYYこれにより、結果をなどとして表示する際の柔軟性が得られます。

于 2012-11-15T19:03:04.003 に答える