我想在数据库中插入“women's cloth”,所以我使用
String name = DatabaseUtils.sqlEscapeString("women's cloth");
但它会像
一样发出"'Women''s Clothing'"
并在插入应用程序崩溃时提供
E/SQLiteLog: (1) near ",": syntax error
---------崩溃开始-----------------
07-12 12:42:19.628 22387-22521/com.i4ustores E/AndroidRuntime: FATAL EXCEPTION: Thread-8634
android.database.sqlite.SQLiteException: near ",": syntax error (code 1):
答案 0 :(得分:0)
从简单的代码中,我猜你手动创建SQL语句。
尝试使用String.format
:
String query = String.format("SELECT * FROM %s WHERE %s = ?",
TABLE_NAME, SEARCH_KEY);
阅读详情:Local Databases with SQLiteOpenHelper
或尝试使用PreparedStatement,如下所示:
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)
请注意 parameterIndex (即上面代码中的1和2)从1开始。