[英]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.