0
我在这个问题上遇到了很大的麻烦。我有我的sqlite表称为类别,我把列“名称”和“限制”作为文本和整数。下面是一些代码:Android SQLite行不更新
private static final String CREATE_TABLE_CATEGORY = "CREATE TABLE "
+ TABLE_CATEGORIES + "(" + KEY_ID + " INTEGER PRIMARY KEY," + KEY_CATEGORY_NAME
+ " TEXT," + KEY_SET_LIMIT + " INTEGER" + ")";
有模型类范畴:
public class Category {
int id, limit;
String categoryName;
// Constructors
public Category(){
}
public Category(String categoryName, int limit){
this.categoryName = categoryName;
this.limit = limit;
}
//Setters
public void setCategoryName(String categoryName){
this.categoryName = categoryName;
}
public void setId(int id){
this.id = id;
}
public void setLimit(int limit) {
this.limit = limit;
}
// Getters
public String getCategoryName(){
return this.categoryName;
}
public int getId(){
return this.id;
}
public int getLimit() {
return this.limit;
}
@Override
public String toString(){
return getId() + " " + getCategoryName() + " " + getLimit();
}
}
还有的创建类别和更新方法:
public long createCategory(Category cat) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_CATEGORY_NAME, cat.getCategoryName());
values.put(KEY_SET_LIMIT, cat.getLimit());
// insert row
long cat_id = db.insert(TABLE_CATEGORIES, null, values);
return cat_id;
}
public int updateCategoryLimit(long cat_id, int limit) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_SET_LIMIT, limit);
// updating row
return db.update(TABLE_CATEGORIES, values, KEY_ID + " = ?",
new String[] { String.valueOf(cat_id) });
}
在飞旋我从类别类已覆盖toString方法。它显示如下所示。从左侧:ID,Category_Name,Category_Limit。问题是我将所有限制设置为10.即使我使用其他整数,它总是显示'2'。请帮助:)
这里的链接图片:http://i.stack.imgur.com/Ae3YZ.png
但类别的一个很好的方式加入。 ID和Category_Name很好,但问题与限制。我将在一分钟内检查insert() –
这是一个插入返回的图像。它看起来对我来说很好:http://s10.postimg.org/jxmkfwvqh/fail2.png –
我试过你的代码,工作正常!确保:KEY_ID +“=?” ,你有选择正确的key_id。 –