从DataTable获取布尔值

5

如何在数据集中检索布尔值,我正在使用Visual Studio 2003,我尝试了以下代码,但它不起作用:

//if product inactive, don't display, and redirect to main page
  if((dbDataSet.Tables["productGeneral"].Rows[0]["Active"].Equals(0)))

我甚至尝试了,但没有起作用:
if((dbDataSet.Tables["productGeneral"].Rows[0]["Active"].toString() == false)

列名为["active"],该列中的值为True或False,在使用SQL Server 2000时。
2个回答

4
您需要直接转换为布尔型,并使用它进行检查。
您尝试过这样吗:
if(((bool)dbDataSet.Tables["productGeneral"].Rows[0]["Active"] == false))

如果它是一个布尔类型,你需要直接将结果转换为布尔类型。第一个失败是因为0是Int32类型,而不是Boolean类型。在C#中,它们是不同的类型,因此无法比较。第二个失败是因为ToString()方法将结果转换为字符串,你正在将一个字符串与一个布尔值进行比较,这也是行不通的。

1

请尝试以下内容

   if (Convert.ToBoolean(dbDataSet.Tables["productGeneral"].Rows[0]["Active"]) == true)
   {}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接