Principales respuestas
Cargar DataGrid via SQL

Pregunta
-
Dim connRegistroMinuto As New OleDb.OleDbConnection
Dim cmdRegistroMinuto As New OleDb.OleDbCommand
Try
connRegistroMinuto = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + NameFileRegistroMinuto + ";Persist Security Info=True;Jet OLEDB:Database Password=13579")
cmdRegistroMinuto = New OleDb.OleDbCommand("", connRegistroMinuto)
connRegistroMinuto.Open()
Dim dsRegistrosMinuto As New DataSetSQLFiltroMinuto = "SELECT * FROM Registro"
Dim adpRegistrosMinuto As New OleDb.OleDbDataAdapter(SQLFiltroMinuto, connRegistroMinuto)
connRegistroMinuto.Close()
dsRegistrosMinuto.Tables.Add("Registro")
adpRegistrosMinuto.Fill(dsRegistrosMinuto.Tables("Registro"))
Finally
connRegistroMinuto.Dispose()
End TryCon este código estoy pasando los datos de una base de datos a un DataGridView. Hay una columna que es un dato tipo bit (booleano). Me gustaría que en el DataGrid en vez de ver 1 ó 0, se vea un cartel Verdadero o Falso.
Como lo puedo hacer?
Respuestas
-
Si quieres que muestre "verdadero" o "falso" un buen truco es hacerlo en la propia sentencia sql, poniendo la operación sobre el campo. Es decir, algo parecido a esto:
select campo1, campo2, IIF(campo3=1, "Verdadero", "Falso") As campo3, campo4, ... from Registro
obviamente poniendo el nombre real de tus campos en lugar de campo1, campo2, etc.
Si no puedes "jugar" con el SQL, otra alternativa es manipular el DataTable después de haber hecho el Fill. Puedes añadir una nueva columna con .Columns.Add (o .Insert), después usar un bucle para leer los valores de la columna que trae el 1 o el 0 y según el valor meter lo que quieras en la nueva columna, después borras la columna mala, y finalmente haces el data binding.
- Marcado como respuesta Osvaldo Luis Aveni viernes, 9 de octubre de 2020 20:10
-
Hola Osvaldo Luis Aven
Gracias por levantar tu consulta en los foros de MSDN. Cerraremos el Hilo, por ende si tiene alguna otra consulta por favor genera otra consulta para que la comunidad de foros te pueda asesorar.
Siempre es un placer atender tus consultas!
--------------------------------------------------------------------------------
Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.
Si tiene algún cumplido o reclamo sobre el soporte de MSDN sientase en la libertad de contactar MSDNFSF@microsoft.com.
- Marcado como respuesta Óscar NavarroModerator martes, 27 de octubre de 2020 16:19
Todas las respuestas
-
Si quieres que muestre "verdadero" o "falso" un buen truco es hacerlo en la propia sentencia sql, poniendo la operación sobre el campo. Es decir, algo parecido a esto:
select campo1, campo2, IIF(campo3=1, "Verdadero", "Falso") As campo3, campo4, ... from Registro
obviamente poniendo el nombre real de tus campos en lugar de campo1, campo2, etc.
Si no puedes "jugar" con el SQL, otra alternativa es manipular el DataTable después de haber hecho el Fill. Puedes añadir una nueva columna con .Columns.Add (o .Insert), después usar un bucle para leer los valores de la columna que trae el 1 o el 0 y según el valor meter lo que quieras en la nueva columna, después borras la columna mala, y finalmente haces el data binding.
- Marcado como respuesta Osvaldo Luis Aveni viernes, 9 de octubre de 2020 20:10
-
EXCELENTEEEEEEEEE!!!!!!
Implementé lo del SELECT. Lo que sí, le saqué el = a 1. Pero anduvo grandioso!!!!
SQLFiltroMinuto = "SELECT FechaYHora, PotenciaTotal, IIF(Alarma, 'Verdadero', 'Falso') As Alarmado, CorrienteFaseR, .......
TE ESTOY MUY AGRADECIDO!!!!
-
Hola Osvaldo Luis Aven
Gracias por levantar tu consulta en los foros de MSDN. Cerraremos el Hilo, por ende si tiene alguna otra consulta por favor genera otra consulta para que la comunidad de foros te pueda asesorar.
Siempre es un placer atender tus consultas!
--------------------------------------------------------------------------------
Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.
Si tiene algún cumplido o reclamo sobre el soporte de MSDN sientase en la libertad de contactar MSDNFSF@microsoft.com.
- Marcado como respuesta Óscar NavarroModerator martes, 27 de octubre de 2020 16:19