簡體   English   中英

試圖從sqlite調用user_id

[英]trying to call user_id from sqlite

我試圖從sqlite數據庫調用user_id但是我收到此錯誤

android.database.sqlite.SQLiteException:未知錯誤(代碼0 SQLITE_OK):只能使用SQLiteDatabase查詢或rawQuery方法執行查詢。 在android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(本機方法)

public Database user_id(){
    SQLiteDatabase db = getReadableDatabase();
    String query = String.format("SELECT user_id FROM OrderDetails ;");
    db.execSQL(query);
    Cursor c = db.rawQuery(query, null);
    if (c != null && c.moveToFirst()) {

        c.moveToFirst();
    }
        return user_id();
}

請不要推薦其他解決方案,因為我已經堅持了一天以上,我嘗試了幾乎所有在stackoverflow和online中表示的解決方案

來自: https//developer.android.com/reference/android/database/sqlite/SQLiteDatabase#execSQL(java.lang.String)

public void execSQL(String sql)
執行一個非SELECT的SQL語句或任何其他返回數據的SQL語句。

所以刪除這一行:

db.execSQL(query);

方法execSQL()不用於執行獲取行的查詢,如SELECT語句。 您可以將它與INSERT,UPDATE,CREATE等一起使用。
另外,我認為你想將用戶的id作為Cursor ,對吧?
所以為什么:

public Database user_id()

這將返回一個Database對象(不管這是什么)。
將方法更改為:

public Cursor user_id(){
    SQLiteDatabase db = getReadableDatabase();
    String query = "SELECT user_id FROM OrderDetails";
    Cursor c = db.rawQuery(query, null);
    return c;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM