Principales respuestas
¿En SQL Server qué tipo debo definir para una columna que debe guardar valores tipo veradero falso?

Pregunta
-
¿Y cómo le asignaría el valor desde Visual Basic .Net (hacia y desde) una variable tipo boolean?
- Editado James-2016 jueves, 28 de abril de 2016 9:26
Respuestas
-
En el servidor, el campo es de tipo BIT.
Y desde el cliente, si usas una sentencia escrita directamente en un SqlCommand, entonces tienes que meterle un 1 o un 0 para representar verdadero o falso. Pero si usas Linq-to-Sql o Entity Framework, entonces la propia capa de abstracción ya traduce el valor a un Boolean, y basta con que le asignes True o False.
- Marcado como respuesta James-2016 jueves, 28 de abril de 2016 10:15
-
Sí se puede recuperar como bool.
Si utilizas un DataReader puedes hacer un
Dim valor As Boolean = dataReader.GetBoolean(columnIndex)
Si los has volcado en un DataTable deberías poder asignar el valor del DataRow a la variable Boolean. Aunque es posible que tengas que utilizar un CType:
Dim valor As Boolean = CType(row(columnIndex), Boolean)
Píldoras .NET
Artículos, tutoriales y ejemplos de código .NETPíldoras JS
Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...- Marcado como respuesta James-2016 jueves, 28 de abril de 2016 10:15
-
Algo que sí tienes que tener en cuenta es que el tipo de datos bit admite valores nulos y el Boolean no.
Ahí tendrías 3 opciones:
- Controlar los valores null y darle a la variable un valor por defecto
- Hacer el campo en base de datos obligatorio
- Declarar la variable como "nullable" (Dim valor As Boolean?). Aún así tendrías que controlar los valores DBNull.Value para convertirlos a Nothing
Píldoras .NET
Artículos, tutoriales y ejemplos de código .NETPíldoras JS
Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...- Marcado como respuesta James-2016 jueves, 28 de abril de 2016 10:15
Todas las respuestas
-
En el servidor, el campo es de tipo BIT.
Y desde el cliente, si usas una sentencia escrita directamente en un SqlCommand, entonces tienes que meterle un 1 o un 0 para representar verdadero o falso. Pero si usas Linq-to-Sql o Entity Framework, entonces la propia capa de abstracción ya traduce el valor a un Boolean, y basta con que le asignes True o False.
- Marcado como respuesta James-2016 jueves, 28 de abril de 2016 10:15
-
Lo lógico es utilizar el tipo bit.
Píldoras .NET
Artículos, tutoriales y ejemplos de código .NETPíldoras JS
Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ... -
Sí, lo guardaría y recuperaría a través de un SqlCommand.
¿Ok, para guardarlo tendría que poner entonces 1 o 0 y para recuperarlo puedo asignarle de frente el valor a una variable boolean (¿se corresponden con verdadero falso?) o tendría que hacer la comparación, si es 0 es true y si es uno es false?
-
Sí se puede recuperar como bool.
Si utilizas un DataReader puedes hacer un
Dim valor As Boolean = dataReader.GetBoolean(columnIndex)
Si los has volcado en un DataTable deberías poder asignar el valor del DataRow a la variable Boolean. Aunque es posible que tengas que utilizar un CType:
Dim valor As Boolean = CType(row(columnIndex), Boolean)
Píldoras .NET
Artículos, tutoriales y ejemplos de código .NETPíldoras JS
Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...- Marcado como respuesta James-2016 jueves, 28 de abril de 2016 10:15
-
Algo que sí tienes que tener en cuenta es que el tipo de datos bit admite valores nulos y el Boolean no.
Ahí tendrías 3 opciones:
- Controlar los valores null y darle a la variable un valor por defecto
- Hacer el campo en base de datos obligatorio
- Declarar la variable como "nullable" (Dim valor As Boolean?). Aún así tendrías que controlar los valores DBNull.Value para convertirlos a Nothing
Píldoras .NET
Artículos, tutoriales y ejemplos de código .NETPíldoras JS
Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...- Marcado como respuesta James-2016 jueves, 28 de abril de 2016 10:15
-