Получить логическое значение из DataTable - PullRequest
4 голосов
/ 26 июня 2009

Как мне получить логическое значение в наборе данных, я использую 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 ]

3 голосов
/ 26 июня 2009

Вам нужно напрямую привести к bool, и просто проверьте это.

Вы пробовали?:

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

Если это бул, вам нужно напрямую привести результат в бул.

Первый сбой, поскольку 0 - это Int32, а не логическое значение. Они не сравнимы в C #, так как это разные типы. Второй сбой, так как ToString () превращает результат в строку, и вы сравниваете строку с логическим значением, которое снова не будет работать.

1 голос
/ 27 июня 2009

Попробуйте следующее

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