Pregunta

¿Cómo recupero un valor booleano en el conjunto de datos? Estoy usando Visual Studio 2003, estoy intentando lo siguiente, pero no funciona:

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

Incluso lo intenté, pero no funcionó:

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

el nombre de las columnas es [" active "], el valor con en la columna es True o False, usando sql server 2000

por favor ayuda

¿Fue útil?

Solución

Necesita lanzar directamente a un bool, y simplemente verifique usando eso.

¿Lo has intentado ?:

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

Si es un bool, querrás convertir el resultado en un bool directamente.

El primero falla ya que 0 es un Int32, no un booleano. No son comparables en C #, ya que son tipos distintos. El segundo falla ya que ToString () convierte el resultado en una cadena, y está comparando una cadena con un bool, que nuevamente no funcionará.

Otros consejos

Pruebe lo siguiente

   if (Convert.ToBoolean(dbDataSet.Tables["productGeneral"].Rows[0]["Active"]) == true)
   {}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top