Necesito almacenar un registro usando el método rawQuery
, porque quiero insertar la fecha y hora actual (datetime()
), pero también necesito insertar cadenas que contengan comillas.Cómo usar rawQuery para insertar un registro
así que escribí este código:
String sql="INSERT INTO sms VALUES (null, ?1, ?2, ?3, datetime())";
dbw.rawQuery(sql, new String[]{str1,str2,str3});
Pero no almacena nada ... ¿qué pasa?
[EDIT]
De esta manera no se producen errores, pero no se inserta el disco.
String mitt="mitt", dest="dest", text="text";
String sql="INSERT INTO sms VALUES (null, ?, ?, ?, datetime('NOW'))";
dbw.rawQuery(sql, new String[]{mitt,dest,text});
En este momento, el único método que funciona para insertar un registro (con un problema comillas) es execSQL(String s)
.
Edité la pregunta – supergiox
¿Es posible que rawQuery no funcione con INSERT? La documentación no dice nada al respecto – supergiox
Nada ... este es el método que funciona (excepto por las comillas): 'String sql =" INSERT INTO sms VALUES (null, '"+ mitt +"', '"+ dest +" ',' "+ texto +" ', fecha y hora (' AHORA ')) "; dbw.execSQL (sql); ' – supergiox