我必须在SQLLite中保存一些数据。此文本数据可以包含引号(')。有没有办法在插入时转义此char,并在从数据库获取数据时将其取回?
特别是,名称是对文件的引用。因此该文件可以命名为" hel' lo.file"。在将其转发到数据库之前,它应该是" hel' lo.file"。但当我把它拿回来时我又需要" hel' lo.file"确保db中的字符串与文件名匹配。
我正在使用内容提供商和SQLiteOpenHelper。
在我的内容提供商内部,对于插入我执行此操作:
_id = db.insert(TextEditorContract.NoteEntry.TABLE_NAME, null, values);
我在我的活动中插入:
ContentValues values = new ContentValues();
...
values.put(NoteEntry.COLUMN_TITLE, getFileTitle());
Uri recordUri = contentResolver.insert(NoteEntry.CONTENT_URI, values);
答案 0 :(得分:1)
使用SQLiteOpenHelper - 然后您可以使用预准备语句。请参阅此问题:Android SQLite Example
修改强>
String file = "/storage/emulated/0/Note/hello 'world.txt"
String sql = "SELECT _id FROM Recents WHERE percorso=? ORDER BY _id ASC";
String[] data = {file};
Cursor cursor = database.rawQuery(sql, data);