Android中对于sqlite3中的数据查询?
目的读取sqlite3的数据。
数据
//select * from book;
1|Dan Brown|10.99|454|The Da vinvi Code
SQLiteDatabase db = dbHelper.getWritableDatabase();
Cursor cursor = db.query("book",null,null,null,null,null,null);
if(cursor.moveToFirst()){
do{
String name = cursor.getString(cursor.getColumnIndex("name"));
String author = cursor.getString(cursor.getColumnIndex("author"));
int pages = cursor.getInt(cursor.getColumnIndex("page"));
double price = cursor.getDouble(cursor.getColumnIndex("price"))
Log.d("MainActivity","book name is" +name);
Log.d("MainActivity","book author is"+author);
Log.d("MainActivity","book pages is"+pages);
Log.d("MainActivity","book price is"+price);
}while (cursor.moveToNext());
}
我自己调试发现是int pages = cursor.getInt(cursor.getColumnIndex("page"));
发生了错误,错误显示信息
java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
建表
create table book
(
id integer primary key autoincrement,
author text,
price real,
pages integer,
name text.
)
我没有学过数据库除了语法可能出错其他不会有问题。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你的sql语句里:
但是你读取的时候是写
你应该改成