有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在sql查询中崩溃安卓应用程序

在这个函数中,我试图获取表中的行数

public int getSetCount(){
    SQLiteDatabase db = this.getWritableDatabase();
    String query = "SELECT " +KEY_SET_ID+" * FROM "+TABLE_SETS;
    Cursor mcursor = db.rawQuery(query, null);
    mcursor.moveToFirst();
    return mcursor.getInt(0);

}

logCat打印出这样的东西

   sqlite returned: error code = 1, msg = near "FROM": syntax error

在这个函数中,我将查找具有给定ID的名称

public String getSetName (int ID){
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery("SELECT * FROM "+TABLE_SETS+" WHERE "+KEY_SET_ID+" =? "+ID, null);
    if (cursor != null)
        cursor.moveToFirst();
    return cursor.getString(0);
}

这些函数有什么问题,请告诉我?根据所有的论坛和教程,我做的每件事都是正确的


共 (1) 个答案

  1. # 1 楼答案

    您的SQL语句似乎编写不正确。只需更改以下行:

       String query = "SELECT " +KEY_SET_ID+" * FROM "+TABLE_SETS;
    

    致:

    String query = "SELECT " +KEY_SET_ID+" FROM "+TABLE_SETS;