|
Resultados dispares según el lenguaje [SOLUCIONADO] - 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 [SOLUCIONADO] (/thread-1999.html) |
Resultados dispares según el lenguaje [SOLUCIONADO] - 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()Y el resultado de esta consulta sencilla es el siguiente: Cita:0 % 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 sqlite3Cita: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 TEXT 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. RE: Resultados dispares según el lenguaje - Shordi - 01-12-2025 Pasa la estructura de la BD. Con eso podemos ver y reproducir el asunto. Saludos RE: Resultados dispares según el lenguaje - guizans - 01-12-2025 Te paso la base de datos que no contiene casi nada, y es pequeña (no me deja adjuntarla, así que te paso un enlace) Base de datos. A ver si ves lo que puede pasar. Voy a actualizar Gambas a la última versión y veo si sigue el problema. Acabo de actualizar y el problema sigue siendo el mismo o peor. Un saludo. Edit: En Java también da el resultado esperado. RE: Resultados dispares según el lenguaje - Rufs - 02-12-2025 Olá!! Para obter no formato desejado, precisa alterar o campo na tabela de "INTEGER para TEXT". Caso não queira alterar a tabela, manipular o código com: resultado = conexion.Exec("SELECT intervalo, CAST(porcentajeCarga AS TEXT) AS porcentajeCarga FROM LineaEstacions LEFT OUTER JOIN Estacions ON Estacions.ID=idEstacions WHERE idLinea=2") RE: Resultados dispares según el lenguaje - guizans - 02-12-2025 Gracias Rufs. Pues tienes razón, en un campo tenía que ser de tipo TEXT pero por alguna metedura de pata por mi parte lo declaré de como INTEGER y de ahí el resultado. Una vez cambiado el campo todo es correcto. Lo curioso es que en Python y Java el resultado fuese correcto a pesar de tener mal el campo, por eso no sospeché nunca de la base de datos. Lo dicho, muchas gracias. Un saludo. RE: Resultados dispares según el lenguaje [SOLUCIONADO] - Shordi - 03-12-2025 Como te dije, pasando la estructura se puede ayudar. Yo no he llegado a tiempo porque el enlace que pasaste de la BD no sigue vivo. Saludos RE: Resultados dispares según el lenguaje [SOLUCIONADO] - guizans - 04-12-2025 Gracias Shordi. El enlace lo borré ya que está solucionado. Parece mentira como una chorrada me estaba desquiciando. Para la próxima ya se que lo primero es mirar los tipos de datos. Un saludo. |