从DataTable获取布尔值

时间:2009-06-26 18:57:26

标签: c# .net-1.1

如何在数据集中检索布尔值,我正在使用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”],使用sql server 2000

列中的值为True或False

请帮助

2 个答案:

答案 0 :(得分:3)

你需要直接转换为bool,然后使用它进行检查。

你试过吗?:

if(((bool)dbDataSet.Tables["productGeneral"].Rows[0]["Active"] == false))

如果是bool,你会想直接将结果转换为bool。

第一个失败,因为0是Int32,而不是布尔值。它们在C#中没有可比性,因为它们是不同的类型。第二个失败,因为ToString()将结果转换为字符串,并且您将字符串与bool进行比较,这将再次起作用。

答案 1 :(得分:1)

试试以下

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