【发布时间】:2019-11-23 19:21:22
【问题描述】:
我正在尝试查询值对应于 sqlite/android studio 中的 url 地址的字符串,但它一直抛出异常:
E/SQLiteLog: (1) unrecognized token: ":"
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.project, PID: 4525
android.database.sqlite.SQLiteException: unrecognized token: ":" (code 1): , while compiling: SELECT * FROM URLS_ITEMS WHERE title = Google AND url = http://www.google.com;
#################################################################
Error Code : 1 (SQLITE_ERROR)
Caused By : SQL(query) error or missing database.
(unrecognized token: ":" (code 1): , while compiling: SELECT * FROM URLS_ITEMS WHERE title = Google AND url = http://www.google.com;)
#################################################################
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1096)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:661)
这里是引发异常的代码sn-p:
public boolean isUrlAlreadyStored(String title, String url) {
ArrayList<URLItem> urlDetailList = new ArrayList<URLItem>();
String query = "SELECT * FROM " + DATABASE_TABLE_URLS_ITEMS + " WHERE title = " + title + " AND url = " + url + ";";
Cursor cursor = database.rawQuery(query, null);
我想我应该转义字符/令牌:但不确定如何。我试过: url = url.replaceAll(":", ":") 但显然这不是正确的方法。
有人知道如何查询诸如“https://www.stackoverflow.com”之类的值/字符串吗?
【问题讨论】:
标签: java android sqlite exception android-sqlite