gpt4 book ai didi

android - 在android中查询sqlite

转载 作者:行者123 更新时间:2023-11-30 03:42:44 27 4
gpt4 key购买 nike

我正在为我的游戏创建一个数据库,一切正常,直到我想查询一个项目。

我一直在尝试几种不同的方法,但我无法使它起作用。我只是没有在我的代码中看到错误。

代码如下:

   public Item getItem(String icon) {
String[] columns = {KEY_ID, KEY_TYPE, KEY_ICON, KEY_LEVEL, KEY_ARMOR, KEY_DAMAGE, KEY_BUY, KEY_SELL};
Cursor cursor = db.query(DB_TABLE, columns, KEY_ICON + "=" + icon,
null, null, null, null);
Item item=null;
if(cursor != null && cursor.moveToFirst()) {
item= new Item(cursor.getString(TYPE_COLUMN),
cursor.getString(ICON_COLUMN),
cursor.getString(LEVEL_COLUMN),
cursor.getString(ARMOR_COLUMN),
cursor.getString(DAMAGE_COLUMN),
cursor.getString(BUY_COLUMN),
cursor.getString(SELL_COLUMN)
);
}
return item;
}

我得到的错误是

No such column: fast_boots (code 1): while compiling: SELECT id, type, icon, level, armor, damage, buy, sell from items where icon=fast_boots

当试图找到 .getItem("fast_boots");我确实在我的 sql 数据库中看到了 fast_boots

最佳答案

为了使查询有效,也许你应该试试这个:

KEY_ICON + "= '" + icon + "' "

因为“icon”是一个字符串值。由于您没有指定它,它可能试图将其理解为投影中的一列

不过,这是实现此类功能的错误方式。不要在getItem() 方法本身(主线程)上执行数据库查询,它应该在后台运行,因此不会影响主线程。

请阅读 AsyncTask .

关于android - 在android中查询sqlite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15481253/

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