单击书签按钮时无法显示任何内容。这段代码有问题。
首先我设置了1个书签值,默认值为0.就像这样 这里的表名是Test。
DatabaseHelper.java
public Cursor bookmarkedJok(int i) {
Cursor c = null;
String Query = "UPDATE Test SET isBookmarked =1 WHERE _id = " + i ;
c = myDataBase.rawQuery(Query, null);
return c;
}
我在想,上面的查询错误或与下面的调用函数有关。 在 first.java 我正在尝试添加书签,此代码在onCreate上此
DatabaseHelper db;
public void onClick(DialogInterface dialog,
int id) {
String i = cur.getString(cur
.getColumnIndex("_id"));
int it=Integer.parseInt(i);
db.bookmarkedJok(it);
}
})
现在,如果我没有错误,那么我会显示这个bookmared,其中isBookmarked的值为1。 的 Second.java
protected SQLiteDatabase db;
protected Cursor cursor;
protected ListAdapter adapter;
...
private void bookmark() {
String[] fields = new String[] { "substr(title,1,23)",
"substr(body,1,35)" };
int[] views = new int[] { R.id.titleJok, R.id.bodyJok, };
cursor = db
.rawQuery(
"SELECT _id, substr(title,1,23),substr(body,1,35) FROM Test WHERE isBookmarked=" +1,
null);
adapter = new SimpleCursorAdapter(this, R.layout.book_list_item,
cursor, fields, views);
jokesList.setAdapter(adapter);
}
请回复我,我的代码有什么错误。感谢。
答案 0 :(得分:0)
如何使用rawQuery()更新记录? 尝试如下:
private SQLiteDatabase sqd;
public SQLiteDatabase create_database(String dbname)
{
try{
sqd= SQLiteDatabase.openOrCreateDatabase("/data/data/Your packagename/databases/"+dbname,null);
}catch(Exception e){
e.getmessage();
}
}
public void bookmarkedJok(int i) {
//Cursor c = null;
create_database(dbname);
String Query = "UPDATE Test SET isBookmarked =1 WHERE _id = " + i ;
sqd.execSQL(Query);
// return c;
}
May this help you.