Spanish error en SQL ?

Ecoleo

Member
Licensed User
Longtime User
Hola ,
me está volviendo loco este error:
main_listart1_itemclick (B4A line: 148)
nombreFoto=crFoto.GetString("Foto_peq")
android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 1

este error salta cuando trato de leer informacion de una tabla , este es el código
crFoto = SQL1.ExecQuery("SELECT Foto_peq FROM Articulos where Id_Articulo=" & cod_art & "; ")
If crFoto.RowCount>0 Then
nombreFoto=crFoto.GetString("Foto_peq")
FotoArticulo.Bitmap = LoadBitmapSample(ruta_imagen,nombreFoto, FotoArticulo.Width, FotoArticulo.Height)

End If
alguna pista ?..
Perdonar pero, soy muy:sign0104:
 

NJDude

Expert
Licensed User
Longtime User
Debes corregir esta linea:

NO:
B4X:
crFoto = SQL1.ExecQuery("SELECT Foto_peq FROM Articulos where Id_Articulo=" & cod_art & "; ")

SI:
B4X:
crFoto = SQL1.ExecQuery("SELECT Foto_peq FROM Articulos WHERE Id_Articulo='" & cod_art & "'")
 

Ecoleo

Member
Licensed User
Longtime User
Debes corregir esta linea:

NO:
B4X:
crFoto = SQL1.ExecQuery("SELECT Foto_peq FROM Articulos where Id_Articulo=" & cod_art & "; ")

SI:
B4X:
crFoto = SQL1.ExecQuery("SELECT Foto_peq FROM Articulos WHERE Id_Articulo='" & cod_art & "'")

Gracias por ayudarme, he corregido la linea como tu me aconsejaste , pero sigue dando el mismo error.:BangHead:
 

Ecoleo

Member
Licensed User
Longtime User
solucionado

Por fín encontré el error.
Para que no os pase lo mismo que a mí, (llevo más de 3 horas buscando soluciones..), aqui teneis la solución.

esto es lo correcto:
crFoto = SQL1.ExecQuery("SELECT * FROM Articulos where Id_Articulo=" & cod_art & "; ")
Dim i As Int
For i =0 To crFoto.RowCount-1
crFoto.Position=i
nombreFoto=crFoto.GetString("Foto_peq")
Next
Hay que posicionar el cursor antes de leer lo que trae de la consulta realizada.:icon_clap:
 

Ferdari

Active Member
Licensed User
Longtime User
;)Gracias Ecoleo, tenia el mismo problema que tú,

Saludos desde México!
 
Top