Está en la página 1de 2

el mtodo execSQL() de la claseSQLiteDatabase.

Este mtodo
permite ejecutar cualquier sentencia SQL sobre la base de datos,
siempre que sta no devuelva resultados.

ejemplos podran ser los siguientes:

1 //Insertar un registro
2 db.execSQL("INSERT INTO Usuarios (codigo,nombre) VALUES (6,'usuariopru') ");
3
4 //Eliminar un registro
5 db.execSQL("DELETE FROM Usuarios WHERE codigo=6 ");
6
7 //Actualizar un registro
db.execSQL("UPDATE Usuarios SET nombre='usunuevo' WHERE codigo=6 ");
8

La segunda de las alternativas disponibles en la API de Android es


utilizar los mtodos insert(), update() ydelete() proporcionados
tambin con la clase SQLiteDatabase. Estos mtodos permiten realizar
las tareas de insercin, actualizacin y eliminacin de registros de una
forma algo ms paramtrica que execSQL(), separando tablas, valores
y condiciones en parmetros independientes de estos mtodos.

Los valores a insertar los pasaremos como elementos de una coleccin


de tipo ContentValues. Esta coleccin es de tipo diccionario, donde
almacenaremos parejas de clave-valor, donde la clave ser el nombre de
cada campo y elvalor ser el dato correspondiente a insertar en dicho
campo. Veamos un ejemplo:

1 //Creamos el registro a insertar como objeto ContentValues


2 ContentValues nuevoRegistro = new ContentValues();
3 nuevoRegistro.put("codigo", "6");
4 nuevoRegistro.put("nombre","usuariopru");
5
6 //Insertamos el registro en la base de datos
db.insert("Usuarios", null, nuevoRegistro);
7

Los mtodos update() y delete() se utilizarn de forma muy


parecida a sta, con la salvedad de que recibirn un parmetro adicional
con la condicin WHERE de la sentencia SQL. Por ejemplo, para
actualizar el nombre del usuario con cdigo 6 haramos lo siguiente:

1 //Establecemos los campos-valores a actualizar


2 ContentValues valores = new ContentValues();
3 valores.put("nombre","usunuevo");
4
5 //Actualizamos el registro en la base de datos
db.update("Usuarios", valores, "codigo=6", null);
6
Como podemos ver, como tercer parmetro del
mtodo update() pasamos directamente la condicin del UPDATEtal
como lo haramos en la clusula WHERE en una sentencia SQL normal.

El mtodo delete() se utilizara de forma anloga. Por ejemplo para


eliminar el registro del usuario con cdigo 6 haramos lo siguiente:

1 //Eliminamos el registro del usuario '6'


2 db.delete("Usuarios", "codigo=6", null);

//Eliminar un registro con execSQL(), utilizando argumentos


String[] args = new String[]{"usuario1"};
db.execSQL("DELETE FROM Usuarios WHERE nombre=?", args);

//Actualizar dos registros con update(), utilizando argumentos


ContentValues valores = new ContentValues();
valores.put("nombre","usunuevo");

String[] args = new String[]{"usuario1", "usuario2"};


db.update("Usuarios", valores, "nombre=? OR nombre=?", args);

También podría gustarte