我想空值傳遞給參數如下:EntLib途徑綁定 「空」 值爲參數
_db.AddInParameter(的DbCommand, 「ID」,DBNull.Value,myContactPerson.Id);
我收到以下錯誤:。
「不能轉換 」System.DBNull到的System.Data.DbType「
我知道這個錯誤的意思
但我需要提供空值myContactPerson.Id
我怎樣才能做到這一點?
我想空值傳遞給參數如下:EntLib途徑綁定 「空」 值爲參數
_db.AddInParameter(的DbCommand, 「ID」,DBNull.Value,myContactPerson.Id);
我收到以下錯誤:。
「不能轉換 」System.DBNull到的System.Data.DbType「
我知道這個錯誤的意思
但我需要提供空值myContactPerson.Id
我怎樣才能做到這一點?
如果myContactPerson.Id
不是自動編號,那麼爲什麼不只是傳遞0
DBTYPE應該在該參數中傳遞,並且應該與您在數據庫中與之比較的表的dbtype(string,int等)匹配。您將用DBNull.Value替換您的值字段「myContactPerson.Id」,以始終傳遞空值。
這裏的類型是int:作爲
的代碼應該被重寫。 – user146584 2009-08-10 00:39:16
_db.AddInParameter(dbCommand,「Id」,System.Data.DBType.Int32,0);不要以爲你可以將null傳遞給Int db類型....更好的選擇是讓它自動生成。 – Jay 2009-08-10 00:51:36
按照ADO.NET,您可以通過爲DBNull任何的DbParameter。
_db.AddInParameter(dbCommand, "Id", DbType.Int32, DBNull.Value);
是的。我通過零時差的方式實現了結果,反過來思考。 :) – user146584 2009-08-10 00:49:06
@rengaseshan:你集中精力。我一直這麼做。我覺得最好休息一下,當你沒有想到這個問題時,它就會來找你。 ;-) – Kredns 2009-08-10 00:52:06