[英]Bit type in T-SQL
在我的表中,我使用IsTrue
列的位类型。
当我执行select命令时:
SqlDataReader reader = command.ExecuteReader();
我不确定reader["isTrue"]
返回什么?
我尝试进行比较
reader["isTrue"].ToString().Equals("0")
但效果不佳。 有人可以告诉我我做错了什么吗?
它返回一个布尔值。
bool value = (bool)reader["IsTrue"];
如果您知道结果集中列的索引,则可以使用:
bool value = reader.GetBoolean(index);
我喜欢使用扩展方法来做到这一点:
public static bool ToBool(this string theString)
{
bool result = false;
bool.TryParse(theString, out result);
return result;
}
在您的代码中,您只需执行以下操作:
if(reader["isTrue"].ToBool())
{
}
在以下情况下,ToBool扩展方法将返回true / false:
而且,除非您的结果集中没有出现“ isTrue”列,否则它永远不会引发异常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.