0

我正在BIT从数据库加载数据类型以填充CheckBox. 目前我有:

chkDependencies.Checked = (objRdr["BitColumn"].ToString().ToLower() == "true" ? true : false);

objRdr是一个SqlDataReader

这看起来很乱,我想知道是否有更清洁的方法来加载BIT数据?

4

3 回答 3

3

您可以使用 DataRow 的字段扩展方法

chkDependencies.Checked = dataRow.Field<bool>("BitColumn");
于 2013-01-08T14:08:48.610 回答
1

假设BitColumn是数据库中的一个实际bit字段(而不是null)......

chkDependencied.Checked = (bool)objRdr["BitColumn"];
于 2013-01-08T14:06:28.947 回答
0

如果您的“BIT”的基础类型是字符串,那么这将起作用:

chkDependencied.Checked = bool.Parse(objRdr["BitColumn"]);

如果您的“BIT”的基础类型是布尔值,那么这将起作用:

chkDependencied.Checked = (bool)objRdr["BitColumn"];

这假设 objReader 是某种键入以包含基本对象的键控字典,即:

Dictionary<string, object>
于 2013-01-08T14:09:27.027 回答