我试图从我在 Android 上的 SQLite 数据库中获取数据。但是,当我运行代码并查看 Android 监视器时,我收到以下消息:
04-14 15:27:27.737 11177-11177/com.example.daniel.toto E/CursorWindow: Failed to read row 0, column -1 from a CursorWindow which has 6 rows, 5 columns.
这是我用来从数据库中获取数据的数据库助手类中的方法:
public ArrayList<String> getAllSales() {
ArrayList<String> array_list = new ArrayList<String>();
SQLiteDatabase db = this.getReadableDatabase();
Cursor res;
res = db.rawQuery( "select * from sales", null );
if (res != null) {
res.moveToFirst();
while (res.isAfterLast() == false) {
array_list.add(res.getString(res.getColumnIndex(SALES_TABLE_NAME)));
res.moveToNext();
}
return array_list;
} else {
array_list = null;
}
return array_list;
}
这是我在 onCreate 方法中调用它的地方:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sales);
mydb = new SalesDBHelper(this.getBaseContext());
array_list = mydb.getAllSales();
}
最佳答案
感谢您破译错误信息。确实是错误信息的一部分column -1
意思是:没有这样的列。
非常感谢您指出,它终于解决了我的问题!
关于java - 从android上的sqlite获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43410191/