Spanish Eliminar Una Fila SQLite

MEGUZMAN

New Member
Muy buenas estaba viendo como operar con Base de Datos y tengo el siguiente problema:
1. Tengo creada Una Tabla
2. Dentro de la tabla tengo tres filas: Nombre; Sexo; Edad

Mi problema es como elimino una fila cualquiera creada dentro de tabla, en mi caso particular almacenada dentro de un listview

B4X:
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
    dbsql.ExecNonQuery("DELETE FROM Tabla where ID = '1'" ) 'AQUI MI PROBLEMA AL QUERER ELIMINAR UNA FILA
    insertar 'Llama a la rutina insertatar los datos de la tabla a un list view
End Sub
 

macguiwer

Member
Licensed User
Longtime User
cambia ID por nombre, sexo o edad por ejemplo
dbsql.ExecNonQuery("DELETE FROM Tabla where Edad = '27'" )
te boraria todos los registros que cumplierar esa condicion.
lo logico seria tener lo que se llama una INTEGAL PRIMARY KEY que por ejemplo se llamaria ID
como tendria un valor unico cada registro seria muy facil borar el registo que te interesa.
 

dar2o3

Active Member
Licensed User
Longtime User
Lo que estas haciendo no es muy correcto, que pasara cuando tengas mas personas en la base de datos con la misma edad? Se eliminarán. Todas!! El campo id al que te refieres tienes que crearlo tu en la db como int (entero o integer no conozco los tipos de sqlite en concreto) y que sea autoincremental, eso asignara un numero unico para cada registro en la bd de forma automatica, asi podras referirte a un registro en concreto de la bd sin posibles confusiones, pero vamos que todo esto que te estoy explicando es basico, te recomiendo que te leas algun manual de sql generico, viene todo esto muy bien explicado, por otro lado la consulta para eliminar seria esta
dbsql.ExecNonQuery("DELETE FROM Tabla where ID = 1")
Sin comillas simples ' ya que el capo id es un entero, si fuera tipo char si habria que poner las comillas.
Perdón por las faltas de ortografia, estoy con el mobil.
 

macguiwer

Member
Licensed User
Longtime User
Yo creo Meguzman ya se ha dado cuenda de eso.
a mi me paso lo mismo cuando se me ocurrio borrar un registro, me toco modificar la BD y crear una PRIMARY KEY a la que por cierto llame ID.
de todas formas gracias por tu explicacion de los de las comillas simples no tenia muy claro si hay que ponerlas o no.
 

joseIsaac123

Member
Licensed User
Hola soy nuevo en esto y quisiera saber si alguien me puede ayudar, quisiera empezar con solo sincronizar la base de datos(SQLite) a B4A tengo la version 5.80 les agradeceria cualquier respuesta.
Gracias
 
Top