Comunidad Gambas-es
Problema extraño en una tabla. - 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: Problema extraño en una tabla. (/thread-1769.html)



Problema extraño en una tabla. - frajanic - 19-08-2024

Tengo una tabla con 10 campos. Cuando inserto datos, en el último campo indefectiblemente me coloca 10, 20, 30, ... en el primero, segundo, tercer registro, etc. Si vuelvo a insertar datos, lo hace perfectamente, pero sigue poniendo decenas en el último campo, es decir, p.e. 40, 50, 60 y así sucesivamente. Y esto independientemente del valor de ese último campo, da igual que utilice una variable o una constante. ¡No me lo puedo explicar!
"INSERT INTO tabla (&1,&2,&3,&4,&5,&6,&7,&8,&9,&10)", variables y constantes.
Todos los campos los guarda perfectamente salvo el último.
Cansado de dar mil vueltas y otras tantas pruebas, eliminé un campo de la tabla (no el último), quedándome así con nueve campos. ¡Sorpresa!, funciona perfectamente.
¿Que puede suceder?
Gracias anticipadas.


RE: Problema extraño en una tabla. - Shordi - 19-08-2024

Cuando los parámetros pasan de &9, debes encerrarlos entre corchetes &9,&{10},&{11}, etc.


Saludos


RE: Problema extraño en una tabla. - frajanic - 19-08-2024

Muchísimas gracias. Jamás me había topado con esa información.
Supergracias.


RE: Problema extraño en una tabla. - Harpo - 19-08-2024

Supongo que estará usando db.Subst o db.Exec.
En la ayuda de Gambas viene esa información que comenta Shordi: Database Request Quoting

Saludos Harpo.


RE: Problema extraño en una tabla. - frajanic - 19-08-2024

He colocado &{10} y me da un error: "9 parámetros y 10 datos".
Por otra parte he consultado el enlace y veo esa información, aunque no comprendo mucho lo demás.
Me dices que utilice db,Subst o db.Exec , ¿Qué es?, ¿Cómo?
Gracias.

Perdona, ya funciona.
Era un error que no tenía que ver.
Muchas, muchísimas gracias.
PD: Sigo sin saber db.Subst y db.Exec


RE: Problema extraño en una tabla. - Harpo - 20-08-2024

En Gambas hay un componente genérico de acceso a bases de datos: gb.db
Este componente nos permite trabajar con la clase DB
Dentro de la clase DB hay dos métodos estáticos: DB.SubstDB.Exec

Ambos métodos le permiten hacer lo que usted comenta en su primer mensaje
Código:
' Uso de Subst
sSql = DB.Subst("SELECT * FROM UserTable WHERE User = &1 AND Password = &2", sUser, sPassword)
hResult = DB.Exec(sSql)

'Uso de Exec
hResult = DB.Exec("SELECT * FROM UserTable WHERE User = &1 AND Password = &2", sUser, sPassword)

Saludos, Harpo


RE: Problema extraño en una tabla. - frajanic - 20-08-2024

Yo estoy utilizando:
rsDie = $con.Exec("select IdD from TablaD")
Y hasta ahora no he tenido problemas.
Ahora me encuentro un problema que no me explico:
Selecciono una fecha en un DateBox y aparece la fecha correcta y en formato "dd/mm/yyyy", acto seguido la traspaso a un ListBox:
 ListBox1.Add(DateBox1.Value)
En el ListBox aparece la fecha con un día menos y con formato "mm/dd/yyyy"
Si selecciono fechas de una tabla que están en formato correcto, vuelve a suceder lo mismo, presenta un día menos y en formato "mm/dd/yyyy" .
¿Qué sucede? No lo puedo entender.
Gracias.


RE: Problema extraño en una tabla. - Harpo - 20-08-2024

Supongo que es un problema con los tipos de datos.
DateBox1.Value es tipo Date
El método Add del ListBox1 requiere un String

Pruebe con:
Código:
ListBox1.Add(Str$(DateBox1.Value))

Saludos, Harpo.


RE: Problema extraño en una tabla. - frajanic - 20-08-2024

No se me ocurrió. Llevaba horas buscando, probando. 
Nuevamente muchísimas gracias.