Android 如何使用特定行更新SQQLite数据库?
在数据库中更新时,我没有获得特定行的idAndroid 如何使用特定行更新SQQLite数据库?,android,android-sqlite,Android,Android Sqlite,在数据库中更新时,我没有获得特定行的id 这是我在数据库中更新注释的代码 public int updateNote(int id, String tittle, String content , String update_at) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put
这是我在数据库中更新注释的代码
public int updateNote(int id, String tittle, String content , String update_at)
{
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(Note.COLUMN_TITTLE,tittle);
values.put(Note.COLUMN_CONTENT,content);
values.put(Note.COLUMN_TITTLE,update_at);
return db.update(Note.TABLE_NAME,values,Note.COLUMN_ID+"="+id,null);
}
请帮助我。
update
返回受影响的行数,而不是行的id在您的情况下,如果成功,它将返回1
关于您需要的id,您已经拥有了它。
update
返回受影响的行数,而不是行的id在您的情况下,如果成功,它将返回1
关于您需要的id,您已经拥有了它。正如mTak概述的那样,
update
方法返回受影响的行数。您也可以在中看到这一点
如果希望方法返回更新的行的ID,则返回传入的ID
,因为这是您首先选择要更新的行的方式:
public int updateNote(int id, String tittle, String content , String update_at) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(Note.COLUMN_TITTLE,tittle);
values.put(Note.COLUMN_CONTENT,content);
values.put(Note.COLUMN_TITTLE,update_at);
db.update(Note.TABLE_NAME,values,Note.COLUMN_ID+"="+id,null);
return id;
}
如mTak所述,
update
方法返回受影响的行数。您也可以在中看到这一点
如果希望方法返回更新的行的ID,则返回传入的ID
,因为这是您首先选择要更新的行的方式:
public int updateNote(int id, String tittle, String content , String update_at) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(Note.COLUMN_TITTLE,tittle);
values.put(Note.COLUMN_CONTENT,content);
values.put(Note.COLUMN_TITTLE,update_at);
db.update(Note.TABLE_NAME,values,Note.COLUMN_ID+"="+id,null);
return id;
}
在活动课上:
//*Note is your setterClass
//*notesList is your ArrayList or list
//*position refers your current list position
//*setNote is a method in Note Class
private void updateNote(String note, int position) {
Note n = notesList.get(position);
// updating note text
n.setNote(note);
// updating note in db
db.updateNote(n);
// refreshing the list
notesList.set(position, n);
mAdapter.notifyItemChanged(position);
}
在数据库类中,请尝试以下代码:
public int updateNote(Note note) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(Note.COLUMN_NOTE, note.getNote());
// updating row
return db.update(Note.TABLE_NAME, values, Note.COLUMN_ID + " = ?",
new String[]{String.valueOf(note.getId())});
}
在这里,我尝试更新单个字符串。我希望这对您有效。请让我知道这是否有效。在您的活动类中:
//*Note is your setterClass
//*notesList is your ArrayList or list
//*position refers your current list position
//*setNote is a method in Note Class
private void updateNote(String note, int position) {
Note n = notesList.get(position);
// updating note text
n.setNote(note);
// updating note in db
db.updateNote(n);
// refreshing the list
notesList.set(position, n);
mAdapter.notifyItemChanged(position);
}
在数据库类中,请尝试以下代码:
public int updateNote(Note note) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(Note.COLUMN_NOTE, note.getNote());
// updating row
return db.update(Note.TABLE_NAME, values, Note.COLUMN_ID + " = ?",
new String[]{String.valueOf(note.getId())});
}
在这里,我尝试更新单个字符串。我希望这对您有效。请让我知道这是否有效。如果您在日志中为该方法提供rowcheck ID的ID,以确认您是否为每个数据加载项使用任何列表视图和getter setter,则该方法将有效db@RevathiManoharan是的,我在列表视图中使用getter和setter…@MustafaShaikh let请检查我的答案。我希望它对您有用。如果您在日志中为该方法提供rowcheck ID的ID,以确认您是否为每个数据加载项使用任何列表视图和getter setter,那么它将起作用db@RevathiManoharan是的,我正在列表视图中使用getter和setter…@MustafaShaikh让您检查我的答案。我希望它对您有用,它不会在中更新数据库兄弟,我试过了,我用的是getter和setter。在更新它在列表视图中的显示时,但在重新打开应用程序后,它从列表视图中消失了…它没有在数据库中更新,兄弟,我尝试了它,我使用getter和setter。在更新其在列表视图中的显示时,但在重新打开应用程序后,它从列表视图中消失。。。