【问题标题】:Save result from SQL query to ArrayList Android将 SQL 查询的结果保存到 ArrayList Android
【发布时间】:2011-11-07 13:25:59
【问题描述】:

我正在尝试了解如何将 android 中的 SQL 查询的结果保存到数组列表中。实际上我发现了一些问题,但没有一个可以回答为什么我的代码是错误的。所以这就是我想要做的:

        String query = null;
        query = "SELECT * FROM users WHERE objectId = "+objectId+" AND serverName "+serverName;

        SQLiteDatabase db;

        // Insert results from query in database.
        ArrayList <String[]> result = new ArrayList<String[]>();
        ResultSet rs = db.execSQL(query);
        int columnCount = rs.getMetaData().getColumnCount();
        while(rs.next())
        {
            String[] row = new String[columnCount];
            for (int i=0; i <columnCount ; i++)
            {
               row[i] = rs.getString(i + 1);
            }
            result.add(row);
        }

错误是说我无法将 void 转换为 ResultSet。 任何建议如何解决这个问题或哪种方法是正确的。

提前致谢

【问题讨论】:

  • SQLiteDatabase db=null; 然后你打电话给db.execSQL(query); 那是行不通的...发布完整的代码。
  • @NSjonas:为什么是重复的?
  • 也许重复是错误的词。但是这个问题已经得到了回答。查询数据库中的游标,然后使用游标并单步执行,将每个元素添加到 ArrayList。他们可能是更好的方法,但据我所知不是。
  • 如果您希望人们帮助您,请不要在“假装”代码上浪费时间。

标签: android sqlite arraylist


【解决方案1】:

一旦您的数据库打开以供读取,请使用 db.query 或 db.rawQuery 获取可用于创建 ArrayList 的游标

cursor = db.rawQuery(<query>, null);
            if(cursor.getCount() > 0)
            {
                cursor.moveToFirst();
                //add to list here 
            }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多