0

如何将 android sqlite 数据库中的每一列放入不同的字符串数组中?我有一个包含 4 列的数据库:id,一个用于存储日期,另一个用于存储小时,另一个用于存储 REAL 值。我需要的是按日期获取小时和实际值列,并将小时列放在一个字符串 [] 中,将实际值列放在另一个字符串 [] 中。然后,我需要将两个字符串数组中的每一个放在两个不同的布局中。所以不必是字符串数组,只要它适合我的需要,它可以是其他任何东西。

目前我正在使用它,但我不知道如何将它进一步放入字符串数组

public Cursor fetchCountriesByName(String inputText) throws SQLException {
    Cursor mCursor = null;
    if (inputText == null || inputText.length() == 0) {
        mCursor = this.sqliteDBInstance3.query(DB_TABLE_NAME3, new String[] {
                DB_COLUMN_1_NAME3, DB_COLUMN_2_NAME3
                }, null, null, null, null, null);

    } else {
        mCursor = this.sqliteDBInstance3.query(true, DB_TABLE_NAME3,
                new String[] { DB_COLUMN_1_NAME3,
                        DB_COLUMN_2_NAME3 },
                DB_COLUMN_3_NAME3 + " like '%" + inputText + "%'", null,
                null, null, null, null);
    }
    if (mCursor != null) {
        mCursor.moveToFirst();
    }
    return mCursor;

}

这是我的表创建:

private static final String DB_NAME3 = "usingsqlite3.db";
private static final int DB_VERSION_NUMBER3 = 1;
private static final String DB_TABLE_NAME3 = "countries3";
private static final String DB_COLUMN_1_NAME3 = "country_value3";
private static final String DB_COLUMN_2_NAME3 = "country_hour";
private static final String DB_COLUMN_3_NAME3 = "country_date";


private static final String DB_CREATE_SCRIPT3 = "create table " + DB_TABLE_NAME3 +
                        " (id3 integer primary key autoincrement, country_value3 REAL, country_hour TEXT, country_date TEXT);)";
4

1 回答 1

2

您可以使用 ArrayList 来执行此操作,例如:

Cursor c = fetchCountriesByName("someCountry");
ArrayList<String> data = new ArrayList<String>();
while (c.moveToNext()) {
    data.add(c.getString(DB_COLUMN_1_NAME3));
}

然后您可以将数组列表转换为字符串数组(搜索如何执行此操作)。

于 2013-07-23T21:28:13.057 回答