3

DateTimeパラメータを含むSQLServerストアドプロシージャを作成しました。このパラメーターはnullであるか、有効な日付値を含んでいる可能性があります。

したがって、プロシージャでの変数の定義は次のとおりです。

@piPurchase_Date DATETIME = NULL

C#から、次のようにパラメーターを追加します。

SqlParameter parameter = new SqlParameter("@piPurchase_Date", SqlDbType.DateTime);
parameter.Value=datePurchaseIssueDate.Checked ? datePurchaseIssueDate.Value : SqlDateTime.Null;

これまでのところすべて問題ないようですが、DataAdaptorでUpdateメソッドを呼び出すと、次のエラーが発生します。

パラメータ値をSqlDateTimeからDateTimeに変換できませんでした。

何か案は?

SQL Server 2008とC#4.0を使用しています

前もって感謝します

4

1 に答える 1

3

はいDBNull.Value-C#で使用します:

SqlParameter parameter = new SqlParameter("@piPurchase_Date", SqlDbType.DateTime);
parameter.Value = datePurchaseIssueDate.Checked ? datePurchaseIssueDate.Value : DBNull.Value;

SQLServerストアドプロシージャにNULLを渡す

于 2012-06-19T14:21:12.697 に答える