omoreno   05-04-2025, 17:30
#1
Se tiene la siguiente consulta:

Código:
$Res = $con.Exec("SELECT campo1, campo2, 'ABC' AS 'Dato' FROM xyz")

Con la nueva versión del componte gb.gb2 me he encontrado con estos resultados en su colección Fields:

Fields en SQLite: campo1, campo2, Dato
Fields en  MariaDB: xyz.campo1, xyz.campo2, .Dato

Luego si quería los datos del result con el código:

C1 = $Res[“campo1”]
C2 = $Res[“campo2”]
Dabc = $Res[“Dato”]

En sqlite, todo bien pero en las base de datos relacionales…. ERROR!!!
Todas mis consultas que tuvieran un campo calculado o “martillado” generaban error por que sistema decía que no existen esas columnas…
Pues para las relacionales tuve que colocar el punto

Dabc = $Res[“.Dato”]

¿Esto es  un Bug o la nueva forma de acceder a los campos de las tablas en base de datos relacionales con el nuevo componente gb.db2?

Gracias por sus posibles respuestas.
Shordi   05-04-2025, 20:41
#2
A mí si me funciona bien. ¿Qué versión de gambas usas?

No podemos regresar
omoreno   06-04-2025, 01:54
#3
(05-04-2025, 20:41)Shordi escribió: A mí si me funciona bien. ¿Qué versión de gambas usas?

Estoy usando Gambas 3.20.2.


[Imagen: GU54hJyl.png]

Observa Cli_NomActivo viene de un CASE END en la consulta SQL a MariaDB.

Código:
  SqlQuery = "SELECT "
  "Cli_Id,                "
  "Cli_Nombre,            "
  "Cli_Direccion,          "
  "Cli_Telefono,          "
  "Cli_Contacto,          "
  "Cli_Activo,            "
  "(CASE Cli_Activo        "
  "  WHEN 0 THEN 'INACTIVO' "
  "  WHEN 1 THEN 'ACTIVO'  "
  "  ELSE '???'            "
  "END) AS Cli_NomActivo    "
  "FROM CLIENTES          "
Última modificación: 06-04-2025, 02:11 por omoreno.
Shordi   06-04-2025, 11:17
#4
Ah... Nunca he usado ese formato de consultas. Desde siempre he tratado ese tipo de cosas en el código de gambas, no en el SQL. Tengo que probarlo... Eso de que gambas no haga caso a las cláusulas as de SQL es un peñazo. Yo he tenido problemas con eso de usar los nombres de campo como cabeceras de columna y cosas así. No queda bien la pareja tabla.campo en una cabecera. Tengo una funcioncita que elimina el nombre de la tabla seleccionando todo lo que hay después del primer punto (porque a veces hay campos que tienen puntos en el nombre). Si haces algo así te valdrá... pero no deja de ser una chapuza.

Saludos

No podemos regresar
omoreno   06-04-2025, 18:29
#5
(06-04-2025, 11:17)Shordi escribió: Ah... Nunca he usado ese formato de consultas. Desde siempre he tratado ese tipo de cosas en el código de gambas, no en el SQL. Tengo que probarlo...  Eso de que gambas no haga caso a las cláusulas as de SQL es un peñazo. Yo he tenido problemas con eso de usar los nombres de campo como cabeceras de columna y cosas así. No queda bien la pareja tabla.campo en una cabecera. Tengo una funcioncita que elimina el nombre de la tabla seleccionando todo lo que hay después del primer punto (porque a veces hay campos que tienen puntos en el nombre). Si haces algo así te valdrá... pero no deja de ser una chapuza.

Saludos

Ya lo reporte en el BugTracker, esperemos a ver la respuesta o la próxima versión reparada.

Saludos.
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.