也许我的问题会如此愚蠢,但我在初学者的java /编程主题
我有一个教程:
http://hmkcode.com/android-simple-sqlite-database-tutorial/
我的问题是如何从那里开始编辑记录。
我正在尝试这个但没有结果:
Book book = new Book();
book.setAuthor("NEW name");
book.setTitle("new TITLE ");
db.updateBook(list.get(1));
感谢您的帮助!
答案 0 :(得分:1)
这是解决方案:
// Updating single book
public int updateBook(Book book, String newTitle, String newAuthor) {
// 1. get reference to writable DB
SQLiteDatabase db = this.getWritableDatabase();
// 2. create ContentValues to add key "column"/value
ContentValues values = new ContentValues();
values.put("title", newTitle); // get title
values.put("author", newAuthor()); // get author
// 3. updating row
int i = db.update(TABLE_BOOKS, //table
values, // column/value
KEY_ID+" = ?", // selections
new String[] { String.valueOf(book.getId()) }); //selection args
// Based on your condition
// 4. close
db.close();
return i;
}
答案 1 :(得分:0)
这里有一篇关于调试的好文章,这项技能将帮助您解决和理解大部分问题
http://www.vogella.com/tutorials/EclipseDebugging/article.html
日志问题,
因为您记录发送的对象而不是使用新数据更新对象,因此您记录的订单对象是旧对象,
获取新订单数据后,在带有订单ID的更新语句后进行查询,您将看到更改后的数据