Can';t更新sqlite android
我正在写我的应用程序,我想有一个功能,用户长时间点击该项目,然后他们可以选择编辑或删除该项目。删除功能工作正常。但是当他们选择编辑,而不是编辑和保存,它只是删除该项目。我已经工作了几天了,但还是找不到问题所在 我的数据库类:Can';t更新sqlite android,android,sqlite,delete-row,Android,Sqlite,Delete Row,我正在写我的应用程序,我想有一个功能,用户长时间点击该项目,然后他们可以选择编辑或删除该项目。删除功能工作正常。但是当他们选择编辑,而不是编辑和保存,它只是删除该项目。我已经工作了几天了,但还是找不到问题所在 我的数据库类: public class DBAdapter { private static final String TAG = "DBAdapter"; public static final String KEY_ROWID = "_id"; publi
public class DBAdapter {
private static final String TAG = "DBAdapter";
public static final String KEY_ROWID = "_id";
public static final int COL_ROWID = 0;
public static final String KEY_ACCOUNT = "account";
public static final String KEY_DATE = "date";
public static final String KEY_NOTE = "note";
public static final String KEY_ENTRY = "entry";
public static final String KEY_OTHERS = "others";
public static final int COL_ACCOUNT = 1;
public static final int COL_DATE = 2;
public static final int COL_NOTE = 3;
public static final int COL_ENTRY = 4;
public static final int COL_OTHERS = 5;
public static final String[] ALL_KEYS = new String[] {KEY_ROWID, KEY_ACCOUNT, KEY_DATE, KEY_NOTE, KEY_ENTRY, KEY_OTHERS};
public static final String DATABASE_NAME = "MyDb";
public static final String DATABASE_TABLE = "mainTable";
public static final int DATABASE_VERSION = 1;
private static final String DATABASE_CREATE_SQL =
"create table " + DATABASE_TABLE
+ " (" + KEY_ROWID + " integer primary key autoincrement, "
+ KEY_ACCOUNT + " text, "
+ KEY_DATE + " text not null, "
+ KEY_NOTE + " text, "
+ KEY_ENTRY + " real not null, "
+ KEY_OTHERS + " text "
+ ");";
private final Context context;
private DatabaseHelper myDBHelper;
private SQLiteDatabase db;
public DBAdapter open() {
db = myDBHelper.getWritableDatabase();
return this;
}
public long insertRow(String account, String date, String note, double entry, String others) {
ContentValues values = new ContentValues();
values.put(KEY_ACCOUNT, account);
values.put(KEY_DATE, date);
values.put(KEY_NOTE, note);
values.put(KEY_ENTRY, entry);
values.put(KEY_OTHERS, others);
return db.insert(DATABASE_TABLE, null, values);
}
public boolean deleteRow(long rowId) {
String where = KEY_ROWID + "=" + rowId;
return db.delete(DATABASE_TABLE, where, null) != 0;
}
public boolean updateRow(long id, String account, String date, String note, double entry, String others) {
String where = KEY_ROWID + "=" + id;
ContentValues values = new ContentValues();
values.put(KEY_ACCOUNT, account);
values.put(KEY_DATE, date);
values.put(KEY_NOTE, note);
values.put(KEY_ENTRY, entry);
values.put(KEY_OTHERS, others);
return db.update(DATABASE_TABLE, values, where, null) != 0;
}
以及我的活动代码:
myDb = new DBAdapter(this);
myDb.open();
myDb.updateRow(id,a,d,n,e,c);
它不更新数据,而是删除整行
你知道我做错了什么吗?你是否验证了
updateRow
实际上正在被调用?有时这些问题归结为错误连接的按钮:)是的,我调用该方法。但是它没有更新,而是删除了行。您是否验证了实际上正在调用updateRow
?有时这些问题归结为错误连接的按钮:)是的,我调用该方法。但不是更新,而是删除该行。