我从数据库加载BIT
数据类型以填充CheckBox
。目前我有:
chkDependencies.Checked = (objRdr["BitColumn"].ToString().ToLower() == "true" ? true : false);
objRdr
是SqlDataReader
。
这看起来很乱,我想知道是否有更简洁的方法来加载BIT
数据?
答案 0 :(得分:3)
您可以对DataRow
使用字段扩展方法chkDependencies.Checked = dataRow.Field<bool>("BitColumn");
答案 1 :(得分:1)
假设BitColumn
是数据库中的实际bit
字段(而不是null
)...
chkDependencied.Checked = (bool)objRdr["BitColumn"];
答案 2 :(得分:0)
如果你'BIT'的基础类型是一个字符串,那么这将起作用:
chkDependencied.Checked = bool.Parse(objRdr["BitColumn"]);
如果你'BIT'的基础类型是布尔值,那么这将起作用:
chkDependencied.Checked = (bool)objRdr["BitColumn"];
这假设objReader是某种类型的键控字典,用于包含基础对象,即:
Dictionary<string, object>