gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 12:42:05 25 4
gpt4 key购买 nike

我试图从 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/

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