whl*_*hlk 10 java sqlite android
我正在rawQuery()使用以下与此类似的sql字符串:
selectionArgs = new String[] { searchString };
Cursor c = db.rawQuery("SELECT column FROM table WHERE column=?", selectionArgs);
Run Code Online (Sandbox Code Playgroud)
但现在我必须在搜索中包含一个通配符,所以我的查询看起来像这样:
SELECT列FROM表WHERE列LIKE'searchstring%'
但是当查询包含单引号时,将抛出以下SQLite异常: android.database.sqlite.SQLiteException: bind or column index out of range
如何在带有通配符元素的SQL查询中使用selectionArgs运行rawQuery?
whl*_*hlk 24
你必须附加%到selectionArgs本身:
selectionArgs = new String[] { searchString + "%" };
Cursor c = db.rawQuery("SELECT column FROM table WHERE column=?", selectionArgs);
Run Code Online (Sandbox Code Playgroud)
注:因此%,并_在searchString字符串仍然工作作为通配符!
Bra*_*ein 19
Sqlite框架自动将单引号放在?内部人物.
String [] selectionArgs = {searchString + "%"};
Cursor c;
// Wrap the next line in try-catch
c = db.rawQuery("SELECT column FROM table WHERE like ?", selectionArgs);
Run Code Online (Sandbox Code Playgroud)
而已.
| 归档时间: |
|
| 查看次数: |
13919 次 |
| 最近记录: |