我努力删除表格中的一行:
String createQuery3 = "CREATE TABLE foto" +
"(_id integer primary key autoincrement," +
"_id_visita integer, nome_immagine TEXT, nome_immagine_resampled TEXT, " +
"commento_foto TEXT," + "commento_foto_resampled TEXT," +
"FOREIGN KEY(_id_visita) REFERENCES visite (_id));";
直线:
public void cancellaFoto(Long idPaziente, String nomeFoto) {
// TODO Auto-generated method stub
databaseConnector.open(); // open the database
database = databaseConnector.getOpenDatabase();
Log.d(TAG, "FOTO SINGOLA DA CANCELLARE ID_Paziente: " + idPaziente);
Log.d(TAG, "FOTO SINGOLA DA CANCELLARE nomeFoto: " + nomeFoto);
database.delete("foto", "nome_immagine=" + nomeFoto , null) ;
Log.d(TAG, "FOTO SINGOLA DA CANCELLATA" + nomeFoto);
databaseConnector.close(); // close the database
}
但没有。祸害是:
12-21 09:55:41.961: E/AndroidRuntime(11373): at java.lang.Thread.run(Thread.java:841)
12-21 09:55:41.961: E/AndroidRuntime(11373): Caused by: android.database.sqlite.SQLiteException: unrecognized token: "1419152123776.png" (code 1): , while compiling: DELETE FROM foto WHERE nome_immagine=1419152123776.png;
12-21 09:55:41.961: E/AndroidRuntime(11373): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
但照片名称是正确的:
12-21 09:55:41.941: D/FotoDatabaseInterface(11373): FOTO SINGOLA DA CANCELLARE ID_Paziente: 2
12-21 09:55:41.941: D/FotoDatabaseInterface(11373): FOTO SINGOLA DA CANCELLARE nomeFoto: 1419152123776.png
任何想法?感谢
答案 0 :(得分:3)
在SQL中,必须使用单引号引用字符串文字,例如'1419152123776.png'
。
最好使用?
占位符和变量绑定:
database.delete("foto", "nome_immagine=?", new String[] { nomeFoto }) ;