Comunidad Gambas-es
Resultados dispares según el lenguaje - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: Bases de Datos (https://gambas-es.org/forum-6.html)
+--- Tema: Resultados dispares según el lenguaje (/thread-1999.html)



Resultados dispares según el lenguaje - guizans - 30-11-2025

En el proyecto que estoy haciendo, los resultado mostrados no me cuadran con los almacenados en la base de datos de SQLite3, así que he hecho pruebas y el resultado es cuanto menos que desconcertante. 

Aquí el código en Gambas:

Código:
Public Sub Main()
 
  Dim conexion As Connection
  Dim resultado As Result
 
  conexion = New Connection
  conexion.Host = File.Dir("/home/mi/.local/share/lineas/")
  conexion.Name = File.Name("lineas.db")
  conexion.Type = "sqlite3"
 
  conexion.Open()
   
  resultado = conexion.Exec("SELECT intervalo, porcentajeCarga FROM LineaEstacions LEFT OUTER JOIN Estacions WHERE idLinea=2 AND Estacions.ID=idEstacions")
  resultado.MoveFirst
 
  While resultado.Available
    Print resultado["intervalo"]
    Print resultado["porcentajeCarga"]
    resultado.MoveNext
  Wend
 
End

Y el resultado de esta consulta sencilla es el siguiente:
Cita:0 %
-228735570
0 %
1
0 %
1
0 %
1

El número negativo que aparece no se de donde sale, y cambia en cada ejecución.
Ahora en Python usando la misma base de datos y la misma consulta:
Código:
import sqlite3

bd = sqlite3.connect("lineas.db")
cursor = bd.cursor()

sentencia = "SELECT intervalo, porcentajeCarga FROM LineaEstacions LEFT OUTER JOIN Estacions WHERE idLinea=2 AND Estacions.ID=idEstacions"
cursor.execute(sentencia)

a = cursor.fetchall()

for intervalo,porcentajeCarga in a:
  print(intervalo)
  print(porcentajeCarga)
 El cual arroja lo siguiente:
Cita:0 %
00:00:00
0 %
00:00:00
0 %
00:00:00
0 %
00:00:0

Lo cual corresponde con lo almacenado en la base de datos. 
Y usando el programa DB Browser usando la misma consulta de la misma tabla el resultado es el mismo que en Python.
En la tabla, intervalo es de tipo INTEGER y porcentajeCarga es de tipo TEXT. Estoy usando Gambas 3.20.2 en Debian.

¿Será un bug de esta versión? Es que es increíble.

Un saludo.