我有一個數據庫,其中布爾值被存儲爲位(1爲true,0爲false)。將它們轉換成DataRow中的.Net布爾值的最佳方式是什麼? Convert.ToBoolean似乎不起作用。將1或0轉換爲布爾值的好方法是什麼?
回答
如果數據庫中的數據類型爲bit
,那麼根本不需要進行任何轉換。數據庫驅動程序會自動將值讀取爲布爾值,您只需將值解開即可:
bool value = (bool)row["field"];
這是最明智的解決方案。 – Noldorin 2009-08-26 11:06:27
bool flag = (row[0]["Flag"] != DBNull.Value) ? (bool)row[0]["Flag"] : false;
如果分貝值是可空的,那麼你不應該使用:bool? flag =(row [0] [「Flag」]!= DBNull.Value)? (bool)row [0] [「Flag」]:null;代替? – JohannesH 2009-08-26 11:00:21
你的代碼不會工作JohannesH,你會得到編譯錯誤 – 2009-08-26 11:09:05
@JohannesH:這是一個選項。取決於在應用程序中如何處理空值。 – 2009-08-26 11:09:51
bool flag = (row[0]["Flag"] != DBNull.Value) ? Convert.ToBoolean(row[0]["Flag"]) : false
應該工作。然而,你可能想要考慮如何處理NULL值的情況,因爲它被認爲設置爲false,你可能或不希望成爲這種情況。
- 1. 將int轉換爲布爾值的更好方法
- 2. 獲取布爾值爲true或false,而不是1或0
- 3. 在php中將變量轉換爲布爾值的最佳方式是什麼?
- 4. GSON序列化布爾值0或1
- 5. 將矢量模型轉換爲html的好方法是什麼?
- 6. 什麼是布爾值作爲返回值的方法?
- 7. 如何將布爾值轉換爲是或否在Extjs Combobox
- 8. 將返回的布爾值轉換爲布爾值
- 9. LinkedList無法轉換爲布爾值,我在做什麼?
- 10. 爲什麼MySQL將布爾值解釋爲TINYINT(1)而不是BIT(1)?
- 11. 將字符串轉換爲0和1,將0和1轉換爲字符串的有效方法?
- 12. 從視圖返回的ASP.NET MVC布爾值是1或0
- 13. 用0和1(布爾值)的值
- 14. 幫助將Hex轉換爲布爾值?
- 15. 如何將varchar轉換爲布爾值
- 16. 如何將char轉換爲布爾值?
- 17. 將字符串轉換爲布爾值
- 18. 將對象轉換爲布爾值[] []
- 19. PostgreSQL布爾型轉換(0爲false)
- 20. 將布爾邏輯電路轉換爲布爾公式的基本算法是什麼?複雜度是多少?
- 21. 將3 .... 0轉換爲0 ...... 1,Unity3d(Time.time)
- 22. 爲什麼我們需要將布爾值傳遞給方法
- 23. 爲什麼不布爾值切換?
- 24. 將布爾轉換爲Varchar2
- 25. 轉換numpy的陣列爲0或1
- 26. 無法轉換爲布爾
- 27. 布爾是無法轉換爲ObjCBool
- 28. 如何將正確的表達式寫入布爾值? (無法從布爾值轉換爲布爾值)
- 29. 將布爾值作爲方法參數是不好的做法嗎?
- 30. MS Access複選框的值爲布爾值1或0以外的值
爲什麼Convert.ToBoolean不工作?它爲我工作了多年。 – 2009-08-26 11:51:17
總是返回false。發現如果我.ToString的行值,但它工作正常。 – Simon 2009-08-26 13:37:53