Android SQLlite获取空表中的列列表

时间:2016-06-07 18:42:09

标签: java android mysql database sqlite

使用Android SQL,我试图从SQL表中获取一个空列的列。

这是我到目前为止所尝试的内容:

        SQLiteDatabase db = getReadableDatabase();
        ArrayList<String> output = new ArrayList<String>();
        Cursor ti = db.rawQuery("PRAGMA table_info("+myTable+")", null);
        if ( ti.moveToFirst() ) {
            do {
               output.add(ti.getString(1));
            } while (ti.moveToNext());
        }
        ti.close();
        db.close();
        return output;

结果列表只显示单词INTEGER,而数据库有许多列。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

这是我用来检索字符串中的列名:

SQLiteDatabase mDataBase;
(some code here...)
mDataBase = getReadableDatabase();
Cursor dbCursor = mDataBase.query(TABLE_NAME, null, null, null, null, null, null);
String[] columnNames = dbCursor.getColumnNames();

或者这个:

    Cursor c = db.rawQuery("SELECT * FROM table WHERE 0", null);
try {
    String[] columnNames = c.columnNames();
} finally {
    c.close();
}

答案 1 :(得分:0)

列名称在name

列中返回
...
int nameColIdx = ti.getColumnIndexOrThrow("name");
...
output.add(ti.getString(nameColIdx));
...