我一直在尝试从SQLite数据库中获取所有行.但是我从下面的代码中得到了最后一行.
FileChooser类:
public ArrayList<String> readFileFromSQLite() {
fileName = new ArrayList<String>();
fileSQLiteAdapter = new FileSQLiteAdapter(FileChooser.this);
fileSQLiteAdapter.openToRead();
cursor = fileSQLiteAdapter.queueAll();
if (cursor != null) {
if (cursor.moveToFirst()) {
do {
fileName.add(cursor.getString(cursor.getColumnIndex(FileSQLiteAdapter.KEY_CONTENT1)));
} while (cursor.moveToNext());
}
cursor.close();
}
fileSQLiteAdapter.close();
return fileName;
}
Run Code Online (Sandbox Code Playgroud)
FileSQLiteAdapter类:
public Cursor queueAll() {
String[] columns = new String[] { KEY_ID, KEY_CONTENT1 };
Cursor cursor = sqLiteDatabase.query(MYDATABASE_TABLE, columns, null,
null, null, null, null);
return cursor;
}
Run Code Online (Sandbox Code Playgroud)
请告诉我,我的错误在哪里.欣赏.
Sam*_*iya 81
尝试:
Cursor cursor = db.rawQuery("select * from table",null);
Run Code Online (Sandbox Code Playgroud)
并为List<String>:
if (cursor.moveToFirst()) {
while (!cursor.isAfterLast()) {
String name = cursor.getString(cursor.getColumnIndex(countyname));
list.add(name);
cursor.moveToNext();
}
}
Run Code Online (Sandbox Code Playgroud)
如果你想每一列和每一行,那么就传递null了和参数。SQLiteDatabase columnselection
Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null, null);
Run Code Online (Sandbox Code Playgroud)
其他答案可以使用rawQuery,但您可以使用Android的内置SQLiteDatabase。该文档的query说,你可以通过在null该selection参数来获取所有行。
selection传递null将返回给定表的所有行。
虽然你也可以在传递null的column参数来获取所有的列(如在一个班轮以上),最好是只返回列,你所需要的。该文件说
columns传递null将返回所有列,不建议这样做,以防止从不会使用的存储中读取数据。
例
SQLiteDatabase db = mHelper.getReadableDatabase();
String[] columns = {
MyDatabaseHelper.COLUMN_1,
MyDatabaseHelper.COLUMN_2,
MyDatabaseHelper.COLUMN_3};
String selection = null; // this will select all rows
Cursor cursor = db.query(MyDatabaseHelper.MY_TABLE, columns, selection,
null, null, null, null, null);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
100410 次 |
| 最近记录: |