gpt4 book ai didi

java - 尝试从 sqlite 调用 user_id

转载 作者:行者123 更新时间:2023-12-02 05:23:41 24 4
gpt4 key购买 nike

我尝试从 sqlite 数据库调用 user_id,但收到此错误

android.database.sqlite.SQLiteException: unknown error (code 0 SQLITE_OK): Queries can be performed using SQLiteDatabase query or rawQuery methods only. at android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(Native Method)

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 和在线中提供的几乎所有解决方案

最佳答案

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

public void execSQL (String sql)
Execute a single SQL statement that is NOT a SELECT or any other SQL statement that returns data.

所以删除这一行:

db.execSQL(query);

方法 execSQL() 不用于执行获取行的查询,例如 SELECT 语句。您可以将它与 INSERT、UPDATE、CREATE 等一起使用。
另外,我认为您希望将用户的 id 作为 Cursor 返回,对吗?
那么为什么:

public Database user_id()

这会返回一个数据库对象(无论它是什么)。
将方法更改为:

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

关于java - 尝试从 sqlite 调用 user_id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56245223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com