我有一个数据库,其中布尔值被存储为位(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