2009-06-26 4 views
3

Как получить логическое значение в наборе данных, я использую Visual Studio 2003, я стараюсь следующее, но это не работает:Получить логическое значение из DataTable

//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) 

имя колонки является [ "активный"], значение с в колонке либо истинным или ложным, с помощью SQL Server 2000

пожалуйста, помогите

ответ

3

Вам нужно просто бросить на bool и просто проверить это.

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

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

Если это BOOL, вы хотите, чтобы привести результат к BOOL непосредственно.

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

+0

Большое вам спасибо за помощь мне :) – Developer

1

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

if (Convert.ToBoolean(dbDataSet.Tables["productGeneral"].Rows[0]["Active"]) == true) 
    {} 
Смежные вопросы