0

INSERT コマンドと executenonquery を使用して現在の日付/時刻を SQL Server テーブルに追加する推奨される方法は何ですか? 私は何かを期待しています...

        cmd.Parameters.Add("@theDate", SqlDbType.VarChar, 20)
        cmd.Parameters("@theDate").Value = "getdate()"
4

5 に答える 5

2

まず、列には DateTime データ型を使用する必要があります。次に、その列で DefaultValue=getdate() 制約を使用できるため、DB でのみ定義されます。アプリケーションは、それを挿入する必要はありません。

于 2011-07-08T21:29:11.130 に答える
1

日付/時刻パラメーターは必要ありません。

ストアドプロシージャが呼び出されるたびに、サーバーレベルで日付/時刻フィールドを更新するだけです。

日付/時刻フィールドを現在の時刻以外のものに更新できるようにする場合は、ストアドプロシージャにオプションのパラメータを追加できます。このようにして、サーバーはnullの場合にgetdate()に更新するか、特定の時刻にする必要がある場合にアプリケーションから渡すことができます。

Tomasがサーバーレベルで時刻を設定することの重要性を強調した理由は、タイムゾーンやその他の要因によるものです。

于 2011-07-09T08:00:22.777 に答える
1
cmd.Parameters("@theDate").Value = Now()
于 2011-07-08T21:28:07.087 に答える
1

どうですか...

cmd.Parameters.Add("@theDate", SqlDbType.DateTime)
cmd.Parameters("@theDate").Value = DateTime.Now
于 2011-07-08T21:28:39.917 に答える
0

current_timestampテキストをSQLコードに直接配置して、パラメーターを完全にスキップできるかどうかを確認します。それができない場合は、DateTime.Now を使用するだけです。

于 2012-03-09T14:30:10.410 に答える