从DataTable中获取布尔值

Dev*_*per 5 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)))
Run Code Online (Sandbox Code Playgroud)

我什至尝试过,但没有工作:

if((dbDataSet.Tables["productGeneral"].Rows[0]["Active"].toString() == false)
Run Code Online (Sandbox Code Playgroud)

列名称为 ["active"],列中的值为 True 或 False,使用 sql server 2000

请帮忙

Ree*_*sey 4

您需要直接转换为布尔值,然后使用它进行检查。

你有没有尝试过?:

if(((bool)dbDataSet.Tables["productGeneral"].Rows[0]["Active"] == false))
Run Code Online (Sandbox Code Playgroud)

如果它是布尔值,您需要将结果直接转换为布尔值。

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