當在SQL Server數據庫中修改數據,你可以使用System.DBNull.Value
或null
來表示NULL
值。這兩種方法都可以工作,並將設置適當的值爲NULL
。使用DBNull或null INSERT/UPDATE數據?
我的問題是 - 哪一個是最好的,爲什麼?是否有某些情況下應該使用一個替代另一個?
當在SQL Server數據庫中修改數據,你可以使用System.DBNull.Value
或null
來表示NULL
值。這兩種方法都可以工作,並將設置適當的值爲NULL
。使用DBNull或null INSERT/UPDATE數據?
我的問題是 - 哪一個是最好的,爲什麼?是否有某些情況下應該使用一個替代另一個?
從System.DBNull.Value != null,並通過試驗驗證碼:
var result = (System.DBNull.Value == null); // this is always false
我們可以看到,CLR也不會把他們以同樣的方式。從數據庫中檢索數據時,我們需要檢查DBNull.Value
而不是null
參考。
儘管我們使用INSERT
或UPDATE
數據並不重要,但我傾向於堅持使用DBNull.Value
以保證數據訪問代碼的一致性。
還有其他各種意見在這個問題C# Database Access: DBNull vs null
的DBNull是代表一個變種,而不是鍵入特定的。在一般情況下,我希望在你有一個需要強類型數據集並且必須將DBNull轉換爲「typed-NULL」的構造的任何地方都有性能問題。
相關的問題:)你的第一部分的心不是 - 伊夫已經ansered是我自己的問題Itself.'的是,哪一個是最好的,爲什麼? '(在插入模式下)? –
這是有關的,因爲它建立了我的位置,這是自**讀它時,重要的**,你應該保持一致和**插入或更新時使用**。 – Yuck
我聽說RDBMS類型有依賴關係..沒有? –