当我尝试在自己的插入查询中包括unrecognized token error
列及其值时,我得到Api_key
,否则,如果没有它,它将正常工作。
这是代码:
public void InsertResult(String apikey,String auditid,String crit_id, int current_chap)
{
String s="INSERT OR IGNORE INTO Results(AuditID,CriteriaID,ChapterID,Api_key) VALUES("+auditid+","+crit_id+","+current_chap+","+apikey+")";
sp.execSQL(s);
}
这是我的日志:
10-11 22:45:09.655: E/AndroidRuntime(8124): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.oxtro.trustea/com.oxtro.trustea.ChapterActivity}: android.database.sqlite.SQLiteException: unrecognized token: "3249f6dc" (code 1): , while compiling: INSERT OR IGNORE INTO Results(AuditID,CriteriaID,ChapterID,Api_key) VALUES(1,13,13,3249f6dc-c3ca-4c8d-a4de-df1834c579c4)
最佳答案
您应该在非数字字符串周围打上勾号。
String s="INSERT OR IGNORE INTO Results(AuditID,CriteriaID,ChapterID,Api_key) VALUES("+auditid+","+crit_id+","+current_chap+",`"+apikey+"`)";
注意“apikey”周围的`标记
SQLite看到了
-
并感到困惑,为什么它不在字符串中。关于java - 插入中的SQLite无法识别的 token 异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19323922/