3

私は次のことをしようとしています:

var p = new DynamicParameters();
p.Add(...);
p.Add(...);
// ideally I want to insert null for end date, but I also tried DateTime.MinValue
// or some other date, but doesn't help
p.Add("@endDate", null, DbType.DateTime, ParameterDirection.Input);
using (var con = new SqlConnection(ConnectionString))
{
    // stored procedure does 'select SCOPE_IDENTITY()' to return the id of inserted row.
    int id = con.Query<int>("StoredProcedureName", p, commandType: CommandType.StoredProcedure).First();
}

これは「InvalidCastException」をスローしています。これは日付のせいだと思います。私は以前、SQL db の endDate に datetime2(20) を使用していましたが、それを修正するかどうかを確認するために datetime に変更しましたが、修正されませんでした。誰でも助けることができますか?

4

1 に答える 1

2

ここでの無効なキャストは、SCOPE_IDENTITY()実際に を返すことdecimalです。パラメータは正常に機能しています。

于 2013-02-18T03:31:10.620 に答える