每当我运行它时,应用程序强制关闭。当我检查logcat时,这是不断弹出的错误。SQLiteException:接近“=”:语法错误(代码1):(关闭)
android.database.sqlite.SQLiteException: near "=": syntax error (code 1): , while compiling: SELECT * FROM tblresultsWHEREtopid=1ANDusname=fbbh
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2351)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2403)
at android.app.ActivityThread.access$600(ActivityThread.java:165)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5391)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
这是我的DBHELPER代码片段:TOP_ID被初始化为一个字符串。
public List<Result> getAllResult() {
String qry3 = "SELECT * FROM " + TABLE_RESULT + "WHERE" + TOP_ID + "=" + "1" + "AND" + USER_NAME + "=" + user;
Log.e(LOG, qry3);
SQLiteDatabase db = this.getReadableDatabase();
Cursor c = db.rawQuery(qry3, null);
if (c.moveToFirst()) {
do {
Result result = new Result();
result.setResultID(c.getInt(c.getColumnIndex(RESULT_ID)));
result.setUserName(c.getString(c.getColumnIndex(USER_NAME)));
result.setAverage(c.getString(c.getColumnIndex(AVERAGE)));
result.setTopicID(c.getString(c.getColumnIndex(TOP_ID)));
results.add(result);
} while (c.moveToNext());
}
return results;
}
变化'“和”'和'” AND“' – Blackbelt
当你是一个绝对的初学者时,这是一个最常犯的错误。 – Yogesh