在Access数据库中,我有一个名为Display
的列,其类型为Yes/No
。我正在获取一个表行并将其存储在名为editDrData[]
的字符串数组中。现在,我想检查它是真还是假。我试过以下,但它不起作用。检查的正确方法是什么?
if (Convert.ToBoolean(editDrData[15]) == false)
答案 0 :(得分:1)
您需要进行字符串比较
bool value = editDrData[15] == "Yes";
答案 1 :(得分:1)
存储YES / NO。
的表行的字符串比较bool value;
if (editDrData[15] == "Yes")
{
value = true;
}
else
{
value = false;
}
答案 2 :(得分:0)
根据你的说法,数组实际上保存了布尔值,你不必进行任何转换。简单
if (editDrData[15]) {
}
会做到这一点。如果它确实是字符串,这应该有用;
if (editDrData[15] == "True") {
}
答案 3 :(得分:0)
它应该工作。我会说字符串或逻辑的格式化有问题。你需要插入一个断点来检查它,但是如果它符合examples from microsoft那么字符串应该成功转换...(如果你确实放入一个断点并在运行时找到该值,那么你将获得来自我们的更好答案)
因此,如果editDrData [15]看起来像“true”或“false”(大小写无关紧要),那么上面的代码就可以了。
如果您在editDrData [15]中的字符串实际上是“是”或“否”,那么您不能使用Convert.Boolean(string);你必须把你自己的逻辑放在
中
if(editDrData[15] == "No")
{
//do stuff here
}
答案 4 :(得分:0)
,它只能是“True”或“False”
或者我认为它会引发异常。
您是否检查过数据库中存储的实际值是否为字符串?如果它不是真和假,你就不能这样做。
您可以在这种情况下比较字符串
e.g。
if(string.Equals(editDrData [15],“YES ???”,StringComparison.CurrentCultureIgnoreCase)){ }
的字符串。
BTW:在导入系统时将它存储为布尔值会更好吗?
答案 5 :(得分:0)
字符串必须等于(System.Boolean.TrueString)“TRUE”或(System.Boolean.FalseString)“FALSE”,才能使用Convert.ToBoolean(string) 如果您要在整个项目中使用此类功能,您可以覆盖多个方法并制作自己的转换器