如何从表中选择行?

法蒂·奥默尔

所以我有一个购物清单应用程序中mainActivityrecyclerView包含用户的列表例如购物清单,每周列表等

当用户单击一个项目时,将导航到产品活动。recyclerView我还有2个不同的SQLite数据库1:列表2:产品。

使用的逻辑我是当用户添加的列表,列表数据库会记录列表名称和ID,同样在产品数据库添加列表名称,当用户添加的产品,我用update()的,而不是insert()SQLite因为列已经存在,所以产品名称和ID将在产品数据库中更新。

这是列表和产品表的结构:

LISTS

  ID      LIST_NAME

1  1       list 1
2  2       list 2

PRODUCTS

  ID      LIST_NAME    PRODUCT_NAME

1  1       list 1     product1 in list1
2  2       list 1     product2 in list1

问题是当我添加列表然后导航到产品时,我看到此错误:

android.database.sqlite.SQLiteException: no such column: list (Sqlite code 1 SQLITE_ERROR): , while compiling: SELECT * FROM prducts WHERE LIST_NAME = list, (OS error - 2:No such file or directory)

这是里面的方法SQLiteOpenHelper,此行显示错误:cursor = db.rawQuery(productsQuery, null);

public Cursor getAllProducts(String list_name)
    {
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = null;

        if (db != null)
        {
            String productsQuery = " SELECT * FROM " +DB_TABLE+ " WHERE "+LIST_NAME_COLUMN+ " = "+list_name;
            cursor = db.rawQuery(productsQuery, null);
        }
        return cursor;
    }

在产品活动中,我曾经Bundle bundle = getIntent().getExtras();通过清单活动传递清单名称。在我使用的清单活动中intent.putExtra("list_name", list_name);

福帕斯

您传递list_namesql语句中用引号引起来的字符串的值,因此将其视为列名。在查询中
使用?占位符,并将其list_name作为第二个参数传递rawQuery()

String productsQuery = "SELECT * FROM " + DB_TABLE + " WHERE " + LIST_NAME_COLUMN + " = ?";
cursor = db.rawQuery(productsQuery, new String[] {list_name});

这样,您无需担心引用传递给查询的参数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从表中选择2个不同的随机行?

来自分类Dev

原则-从表中选择最后4行

来自分类Dev

Cassandra CQL:如何从表中选择最后n行

来自分类Dev

从审核表中选择更改的行

来自分类Dev

在MariaDB中,如何从表中选择前10行?

来自分类Dev

根据列从表中选择行

来自分类Dev

如何从表中选择最新行

来自分类Dev

从Python中的行为表中选择行

来自分类Dev

MS SQL如何从表中选择n行,即使表有n-x行

来自分类Dev

从表中选择行-Java Selenium

来自分类Dev

在Vuetify数据表中选择行

来自分类Dev

需要从Web表中选择行

来自分类Dev

如何从表格中选择行?

来自分类Dev

如何从2个表中选择所需的行

来自分类Dev

如何从嵌套表中选择

来自分类Dev

如何从MySQL中的表中选择双向映射的行?

来自分类Dev

拥有GUID列表时如何从表中选择行?

来自分类Dev

从表中选择特定的行

来自分类Dev

如何从MySql表中选择根据最大日期发生的行?

来自分类Dev

SQL-如何通过一次选择从表中选择不连续的行?

来自分类Dev

如何从html中的表中选择行中的特定值

来自分类Dev

如何从表中选择最新的行

来自分类Dev

从表中选择随机行

来自分类Dev

从表中选择聚集行

来自分类Dev

在 Postgres 中,如何从表中选择最近日期的行?

来自分类Dev

如何从 Pervasive PSQL 表中选择随机行

来自分类Dev

如何从连接表中选择最大表?

来自分类Dev

如何从表中选择 100 行乘 100 行?

来自分类Dev

如何从有 300'000 行的表中选择 n 行