java - SQLite两列语句,使用游标获取值

标签 java android sqlite

我试图从 SELECT 中获取 SQLite 数据库中 2 列的值,当我检索它时,我想将此值添加到我创建的具有 (String, String) 参数的自定义 ArrayList 中.

我的DB Helper方法是:

public ArrayList<Custom> getAllvalues(String TABLE, String COLUMN1, String COLUMN2) {

        ArrayList<Custom> list = new ArrayList<Custom>();

        // Select All Query
        String selectQuery = "SELECT "+COLUMN1+","+COLUMN2+" FROM " + TABLE;

        SQLiteDatabase db = this.getWritableDatabase();
        try {

            Cursor cursor = db.rawQuery(selectQuery, null);
            try {

                // looping through all rows and adding to list
                if (cursor.moveToFirst()) {
                    do {
                        list.add(new Custom(cursor.getString(0),cursor.getString(1)));

                    } while (cursor.moveToNext());
                }

            } finally {
                try { cursor.close(); } catch (Exception ignore) {}
            }

        } finally {
             try { db.close(); } catch (Exception ignore) {}
        }

        return list;
    }

当我在我的主类中获得值时..我得到这样的:

VALUE1 NULL;
NULL  VALUE2;
VALUE3 NULL;
NULL VALUE4;

我希望这些值在列表中如下所示:

VALUE1 VALUE2;
VALUE3 VALUE4;

我尝试像这样访问光标:

cursor.getColumnIndex("My_column_name");

我检索了这些值,但总是按相同的顺序.. value,null,null,value,value,null 等...

谢谢!

最佳答案

尝试检查您的数据库,看看您获取的行是否填充了您尝试检索的数据。看this answer导出您的 .db 文件。并下载SQLite Debugger并打开它以查找数据库内部的信息。

如果您的信息已正确保存,请尝试通过调用 SQLiteDatabasequery 方法来获取信息:

光标cursor = db.query(TABLE, new String[]{COLUMN1, COLUMN2}, null, null, null, null, null}

希望这有帮助。

关于java - SQLite两列语句,使用游标获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25004742/

相关文章:

java - 安卓 : startActivityForResult() with BACK button functionality

android - 在不复制相同代码的情况下,在我的应用程序的每个 Activity 中与服务通信的最佳方式是什么?

来自非 Activity 类的 Android 上下文

java - Rox 教程中的 Java NIOServer 真的安全吗?

java - 给定InputStream替换字符并产生OutputStream

java - 如何使用循环遍历图像

android - 无法解析 : 'com.android.support:appcompat-v7:16.+'

android - 自定义函数 Android SQLite 返回 null

C# - SQLite SELECT 查询 * 返回数据类型

java - 监视 Azure 中的 API 支持