當我建立一個SQLiteDatabaseandroid的sqlite的光標
public static final String CREATE_BOOK = "create table Book(" + "id integer primary key autoincrement," + "author text," + "price real," + "pages integer," + "name text," + "category_id integer)";
然後有一個按鈕add_data工具
add_data.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SQLiteDatabase db = dbhelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("author", "jose");
values.put("name", "Thank you!");
values.put("pages", 999);
values.put("price", 99.9);
db.insert("Book", null, values); }
});
,我想查詢表
query_data.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
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("pages"));
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 prices is" + price);
}while (cursor.moveToNext());
}
cursor.close();
}
});
而且我運行它,有一些錯誤:無法從具有1行5列的CursorWindow讀取行0,列-1。在從中訪問數據之前,確保Cursor已正確初始化。
最後,我交換add_data工具是「作者」和「名」的順序,運行
什麼是它的問題?謝謝!