我有一个数据库,其中布尔值存储为位(1表示true,0表示false)。将这些转换为DataRow的.Net布尔值的最佳方法是什么? Convert.ToBoolean似乎不起作用。
答案 0 :(得分:4)
如果数据库中的数据类型为bit
,则您根本不需要进行任何转换。数据库驱动程序自动将值读取为布尔值,您所要做的就是取消设置值:
bool value = (bool)row["field"];
答案 1 :(得分:3)
bool flag = (row[0]["Flag"] != DBNull.Value) ? (bool)row[0]["Flag"] : false;
答案 2 :(得分:1)
bool flag = (row[0]["Flag"] != DBNull.Value) ? Convert.ToBoolean(row[0]["Flag"]) : false
应该有效。但是,您可能想要考虑如何处理NULL值的情况,因为它被视为设置为false,您可能希望或不希望如此。