我在做這樣的事情不工作任何人都可以告訴我爲什麼SqlParameter假定0與null相同?SqlParameter的默認值設置爲0,預期
編輯: MSDN解釋了這個在這裏:當您使用的SqlParameter構造函數的這個重載 到 SqlParameter Constructor
我在做這樣的事情不工作任何人都可以告訴我爲什麼SqlParameter假定0與null相同?SqlParameter的默認值設置爲0,預期
編輯: MSDN解釋了這個在這裏:當您使用的SqlParameter構造函數的這個重載 到 SqlParameter Constructor
要小心指定整數參數值。 因爲此過載的值爲 類型的對象,所以當 的值爲零時,必須將 整數值轉換爲對象類型,如以下C# 示例所示。
Parameter = new SqlParameter("@pname", Convert.ToInt32(0));
如果不進行這種轉換, 編譯器假定你是 試圖調用的SqlParameter (字符串,SqlDbType)構造 超載。
感謝Msdn :)
你傳入0是型,而不是價值。允許使用0個字面值(和常數值)任意枚舉類型 - 表示底層枚舉類型的0,並且比對象更好的「匹配」,因爲它不需要裝箱。
就個人而言,我會用;
Value = 0
也許在對象初始值設定項中。
好吧,這裏解釋:http://msdn.microsoft.com/en-us/library/0881fz2y%28v=VS.80%29.aspx當創建一個默認值爲「0」的新的SqlParameter時,你需要明確地將其轉換爲整數。否則,它假定您傳遞一個SqlDbType枚舉作爲第二個參數。 – Meryovi 2011-03-18 19:25:09