仅返回SQLite Select语句中的最后一个值

卢比

在这里,我试图从SQLite中的表中获取所有数据。但是每次它返回我只最后两次行(我的表仅包含两行)。

e.g
---------------------+
| Id| name | mobile  |                  
|--------------------|
|1  | abc  | 123456  |
|--------------------|
|2  | xyz  | 789654  |
+--------------------+

我的代码返回此:

01-11 00:14:59.291: D/Result:(27629): TID 12274, Name: Tablets , Image: [B@4275d578
01-11 00:14:59.291: D/Result:(27629): TID 12274, Name: Tablets , Image: [B@4275d578

在这里我粘贴我的查询代码:

public List<ProductCategoryDatabaseRetrieve> getProductCategoryData() {
    List<ProductCategoryDatabaseRetrieve> productCategoryDatabaseRetrieve = new ArrayList<ProductCategoryDatabaseRetrieve>();
    ProductCategoryDatabaseRetrieve prodCatDB = new ProductCategoryDatabaseRetrieve();
    SQLiteDatabase sqliteDB = dbHandler.getWritableDatabase();
    String[] columns = { DatabaseHandler._TID,
            DatabaseHandler.TID,
            DatabaseHandler.PRODUCT_CATEGORY_NAME,
            DatabaseHandler.PRODUCT_CATEGORY_IMAGE };
    Cursor cursor = sqliteDB.query(DatabaseHandler.PRODUCT_CATEGORY_TABLE,
            columns, null, null, null, null, null);
    if (cursor.getCount() > 0 && cursor !=null) {
        while (cursor.moveToNext()) {
            prodCatDB.set_tid(cursor.getInt(cursor.getColumnIndex(DatabaseHandler._TID)));
            prodCatDB.setTid(String.valueOf(cursor.getInt(cursor
                    .getColumnIndex(DatabaseHandler.TID))));
            prodCatDB.setProductCategoryName(cursor.getString(cursor
                    .getColumnIndex(DatabaseHandler.PRODUCT_CATEGORY_NAME)));
            prodCatDB.setProductCategoryImage(cursor.getBlob(cursor
                    .getColumnIndex(DatabaseHandler.PRODUCT_CATEGORY_IMAGE)));
            productCategoryDatabaseRetrieve.add(prodCatDB);
    }
    } 
    dbHandler.close();
    return productCategoryDatabaseRetrieve;
}

非常感谢您的考虑。

AxiomaticNexus

那是因为您要ProductCategoryDatabaseRetrieve prodCatDB = new ProductCategoryDatabaseRetrieve();while循环外部实例化一次,然后用每次循环迭代替换它的属性值。像这样

移动ProductCategoryDatabaseRetrieve prodCatDB = new ProductCategoryDatabaseRetrieve();while循环内部

while (cursor.moveToNext()) {
        ProductCategoryDatabaseRetrieve prodCatDB = new ProductCategoryDatabaseRetrieve();//Instantiate here with each iteration.
        prodCatDB.set_tid(cursor.getInt(cursor.getColumnIndex(DatabaseHandler._TID)));
        prodCatDB.setTid(String.valueOf(cursor.getInt(cursor
                .getColumnIndex(DatabaseHandler.TID))));
        prodCatDB.setProductCategoryName(cursor.getString(cursor
                .getColumnIndex(DatabaseHandler.PRODUCT_CATEGORY_NAME)));
        prodCatDB.setProductCategoryImage(cursor.getBlob(cursor
                .getColumnIndex(DatabaseHandler.PRODUCT_CATEGORY_IMAGE)));
        productCategoryDatabaseRetrieve.add(prodCatDB);
}

另外,在您的if陈述中,cursor != null是没有用的。游标永远不会为空,即使它cursor.getCount()会在cursor != null到达之前抛出一个空指针异常删除cursor != null,您不需要它。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

仅返回SQLite Select语句中的Last值

来自分类Dev

JSON仅返回错误语句中的最后一个字母

来自分类Dev

Python:列表迭代仅返回最后一个值

来自分类Dev

Python:列表迭代仅返回最后一个值

来自分类Dev

array_combine仅返回最后一个值

来自分类Dev

SQLite Android rawQuery仅返回准确值

来自分类Dev

如果ORDER BY上的IF语句仅返回一个值

来自分类Dev

如果ORDER BY上的IF语句仅返回一个值

来自分类Dev

SQLite3(python)查询可在一个SELECT语句中搜索多个列

来自分类Dev

SQL查询仅返回SELECT语句中第一列的值

来自分类Dev

如何在 Swift 4 中的 if let 语句中返回一个值?

来自分类Dev

如何在Rails的“ where”语句中仅返回一个对象?

来自分类Dev

仅使用最后一个参数的MySQL PDO名称-值准备语句

来自分类Dev

使用return语句和默认返回最后一个值有什么区别?

来自分类Dev

重用php prepare语句将仅返回mysql表的最后一个条目

来自分类Dev

sqlite 在一个语句中按星期几过滤

来自分类Dev

PHP:从case语句中返回一个jQuery警报

来自分类Dev

从 switch 语句返回一个值

来自分类Dev

为什么变量在同一条语句中递增后返回前一个值?

来自分类Dev

使用仅带一个参数的GROUP BY在SELECT语句中的不同表中添加多个列

来自分类Dev

抓取仅返回一个值

来自分类Dev

如何计算重复的行数,但仅返回SQLite中的distinct的值?

来自分类Dev

SQLite数据库查询仅返回一行

来自分类Dev

SQLite条件SELECT语句-多个条件但一个语句

来自分类Dev

从C#中的存储过程返回最后一个SELECT值

来自分类Dev

D3.js .rangeBands()仅返回最后一个值的“未定义”?

来自分类Dev

PHP响应的按钮仅返回javascript中最后一个响应的按钮的值

来自分类Dev

手动php数组仅返回最后一个值

来自分类Dev

在for循环中构造时仅返回数组的最后一个值

Related 相关文章

  1. 1

    仅返回SQLite Select语句中的Last值

  2. 2

    JSON仅返回错误语句中的最后一个字母

  3. 3

    Python:列表迭代仅返回最后一个值

  4. 4

    Python:列表迭代仅返回最后一个值

  5. 5

    array_combine仅返回最后一个值

  6. 6

    SQLite Android rawQuery仅返回准确值

  7. 7

    如果ORDER BY上的IF语句仅返回一个值

  8. 8

    如果ORDER BY上的IF语句仅返回一个值

  9. 9

    SQLite3(python)查询可在一个SELECT语句中搜索多个列

  10. 10

    SQL查询仅返回SELECT语句中第一列的值

  11. 11

    如何在 Swift 4 中的 if let 语句中返回一个值?

  12. 12

    如何在Rails的“ where”语句中仅返回一个对象?

  13. 13

    仅使用最后一个参数的MySQL PDO名称-值准备语句

  14. 14

    使用return语句和默认返回最后一个值有什么区别?

  15. 15

    重用php prepare语句将仅返回mysql表的最后一个条目

  16. 16

    sqlite 在一个语句中按星期几过滤

  17. 17

    PHP:从case语句中返回一个jQuery警报

  18. 18

    从 switch 语句返回一个值

  19. 19

    为什么变量在同一条语句中递增后返回前一个值?

  20. 20

    使用仅带一个参数的GROUP BY在SELECT语句中的不同表中添加多个列

  21. 21

    抓取仅返回一个值

  22. 22

    如何计算重复的行数,但仅返回SQLite中的distinct的值?

  23. 23

    SQLite数据库查询仅返回一行

  24. 24

    SQLite条件SELECT语句-多个条件但一个语句

  25. 25

    从C#中的存储过程返回最后一个SELECT值

  26. 26

    D3.js .rangeBands()仅返回最后一个值的“未定义”?

  27. 27

    PHP响应的按钮仅返回javascript中最后一个响应的按钮的值

  28. 28

    手动php数组仅返回最后一个值

  29. 29

    在for循环中构造时仅返回数组的最后一个值

热门标签

归档