我有一個數據庫,其中布爾值被存儲爲位(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. 真值表 - 將布爾值轉換爲1和0
- 2. 將int轉換爲布爾值的更好方法
- 3. JSON值1或0 - int或布爾值
- 4. 獲取布爾值爲true或false,而不是1或0
- 5. 在php中將變量轉換爲布爾值的最佳方式是什麼?
- 6. GSON序列化布爾值0或1
- 7. 將矢量模型轉換爲html的好方法是什麼?
- 8. 爲什麼不能將SplFileInfo轉換爲布爾值?
- 9. 什麼是布爾值作爲返回值的方法?
- 10. 爲什麼MS訪問布爾值爲真-1而不是1或真?
- 11. Kendo模板 - 將布爾值轉換爲是或否
- 12. 如何將布爾值轉換爲是或否在Extjs Combobox
- 13. 在Excel或SPSS中將是/否轉換爲1/0的有效方法
- 14. 將返回的布爾值轉換爲布爾值
- 15. LinkedList無法轉換爲布爾值,我在做什麼?
- 16. 爲什麼MySQL將布爾值解釋爲TINYINT(1)而不是BIT(1)?
- 17. 將字符串轉換爲0和1,將0和1轉換爲字符串的有效方法?
- 18. 從視圖返回的ASP.NET MVC布爾值是1或0
- 19. 將(0&(1 | 0)| 1)&(0 | 1))等字符串轉換爲相應的真值
- 20. 將字符串轉換爲布爾值並檢查布爾值
- 21. 爲什麼我的值爲0的布爾值返回true?
- 22. 用0和1(布爾值)的值
- 23. python:將1/0s列表轉換爲布爾值列表
- 24. 將int []轉換爲布爾值[]
- 25. 如何將varchar轉換爲布爾值
- 26. 使用'!!'將PHP轉換爲布爾值
- 27. 將JRadioButton轉換爲布爾值?
- 28. 將字符串轉換爲布爾值
- 29. 幫助將Hex轉換爲布爾值?
- 30. 將對象轉換爲布爾值[] []
爲什麼Convert.ToBoolean不工作?它爲我工作了多年。 – 2009-08-26 11:51:17
總是返回false。發現如果我.ToString的行值,但它工作正常。 – Simon 2009-08-26 13:37:53