Spanish [SOLUCIONADO]Saber si existe un registro SQL

netklamath

Member
Licensed User
Longtime User
Espero que podais echarme una mano, soy nulo en b4a, me estoy dando cuenta, pero tengo mucha constancia e ilusion en seguir aprendiendo. Resulta que tengo una base de datos con registros (id,nombre,telefono,etc...) y luego tengo otra base de datos que quiero compararla con la segunda, y si tiene mas registros que los meta (solo los nuevos).

Tengo este codigo:

for i=0 to lstid.size-1
cursor = SQL1.ExecQuery2("SELECT * FROM Contactos WHERE id = ?", Array As String(lstid.GetItem(i)))
next

Lo que no se es como saber en codigo decir si el resultado es que existe o no. Aqui, si lo he hecho bien, estoy diciendo que mire en todos los registros de la tabla contactos, alguno con el campo ID igual al listview (listid)

Espero haberme explicado bien y gracias ;)


EDITO: Ya lo he conseguido. No se si lo hago bien pero funciona el codigo este:

B4X:
For i=0 To lstid.Size-1
                cursor1=SQL1.ExecQuery2("SELECT * FROM Contactos WHERE id = ?", Array As String(lstid.GetItem(i))) ' mira si hay algun contacto con el id igual que el del lstid(index)
                'si no encuentra ningun contacto con ese id, lo agrega a la BD
                If cursor1.RowCount=0 Then 'si no encuentra ningun contacto con ese id, lo agrega a la BD
                    Dim archivo_foto As String
                    archivo_foto=lstid.GetItem(i) & ".jpg"
                    SQL1.ExecNonQuery("INSERT INTO Contactos (id,nombre,telefono1,telefono2,grabar,foto) VALUES('" & lstid.GetItem(i) & "' , '" & lstcontacts2.GetItem(i) & "','" & lstMovil.GetItem(i) & "','" & lstMovil2.GetItem(i) & "','" & "no" & "','" & archivo_foto & "')")
                    ToastMessageShow(lstcontacts2.GetItem(i) & " Añadido.",False)
                    DBload ' vuelve a cargar la base de datos para que actualize los contactos para que se vean los nuevos
                End If
                'fin si no encuentra ningun contacto con ese id, lo agrega a la BD
            Next


LA tonteria mas grande que llevo horas y resulta que era esta linea de codigo la que me dice si hay algun registro encontrado con ese ID:

If cursor1.RowCount=0 Then
 
Last edited:

Descartex

Well-Known Member
Licensed User
Longtime User
Muy buenas,
Esa es una de las muchas formas de hacerlo.
Un saludo.
 
Top