Problema con Listbox y MariaDB
Posted: Wed Dec 09, 2020 1:41 am
Hola a todos.
Saludos.
tengo la siguiente situación:
una tabla con dos registros de 36 campos (mariaDB)
y hago la siguiente consulta:
luego mando a hacer esto:
resulta que muestra en el listbox un solo registro y repetido 39 veces
ahora bien, si hago esto:
Funciona perfecto y muestra los 2 registros con su informacion correcta.
En el listbox tengo colocado : oListbox:SetArray( oArticulos ) o oListbox:SetArray( aArreglo ) segun el caso
Pregunto: ¿Por que falla usando directamente el resultado de la consulta (oArticulos) pero si trabajo sobre una copia del mismo lo hace bien?
Si consulto la longuitud de oArticulos me dice 39, lo que no es cierto, si consulto la longuitud de la copia es 2, como es correcto.
Como podrán ver, es imposible trabajar sobre una copia donde tengo que estar adivinando que elemento voy a mostrar (aArreglo[x,y])
en lugar de llamarlo por su nombre (oArticulo:codigo_fabrica)
Se agradece, como siempre, cualquier ayuda u orientacion pero sobre todo una explicacion de que esta sucediendo.
No soy para nada un experto en mysql/MariaDB. Estoy comenzando apenas.
Un abrazo.
Saludos.
tengo la siguiente situación:
una tabla con dos registros de 36 campos (mariaDB)
y hago la siguiente consulta:
Code: Select all
cTabla := _cPrefijo+"_articulos"
cQuery := "Select * from "+cTabla +" ORDER BY descripcion"
oArticulos:= _oSqlConex:Query( cQuery )
Code: Select all
Redefine ListBox oListbox fields oArticulos:codigo_fabrica , oArticulos:descripcion ,oArticulos:codigo_interno ;
Id 10 of oDlg Headers 'Código Fábrica','Descripción','Modelo' FieldSizes 170 , 410 , 100
ahora bien, si hago esto:
Code: Select all
cTabla := _cPrefijo+"_articulos"
cQuery := "Select * from "+cTabla +" ORDER BY descripcion"
oArticulos:= _oSqlConex:Query( cQuery )
aArreglo :=oArticulos:FillArray() //hago una copia del resultado de la consulta
Redefine ListBox oListbox fields aArreglo[oListbox:nAt,1] , aArreglo[oListbox:nAt,2] , aArreglo[oListbox:nAt,3] ;
Id 10 of oDlg Headers 'Código Fábrica','Descripción','Modelo' FieldSizes 170 , 410 , 100
En el listbox tengo colocado : oListbox:SetArray( oArticulos ) o oListbox:SetArray( aArreglo ) segun el caso
Pregunto: ¿Por que falla usando directamente el resultado de la consulta (oArticulos) pero si trabajo sobre una copia del mismo lo hace bien?
Si consulto la longuitud de oArticulos me dice 39, lo que no es cierto, si consulto la longuitud de la copia es 2, como es correcto.
Como podrán ver, es imposible trabajar sobre una copia donde tengo que estar adivinando que elemento voy a mostrar (aArreglo[x,y])
en lugar de llamarlo por su nombre (oArticulo:codigo_fabrica)
Se agradece, como siempre, cualquier ayuda u orientacion pero sobre todo una explicacion de que esta sucediendo.
No soy para nada un experto en mysql/MariaDB. Estoy comenzando apenas.
Un abrazo.