在Android中更改数据库行中的一个单元格
在我的android应用程序中,我的数据库中有一个表,用于存储来自用户的数据:在Android中更改数据库行中的一个单元格,android,sql,android-sqlite,Android,Sql,Android Sqlite,在我的android应用程序中,我的数据库中有一个表,用于存储来自用户的数据: tbl_Persons | _id | Name | First Name | Place | ZIP | ----------------------------------------- 现在我想从数据库中的一行(比如说,\u id=5)更改位置——该单元格中的所有其他单元格在执行命令后都应该相同,只有位置应该更改。我如何在安卓系统中做到这一点?我试过: ContentValues werte = new C
tbl_Persons
| _id | Name | First Name | Place | ZIP |
-----------------------------------------
现在我想从数据库中的一行(比如说,\u id=5
)更改位置
——该单元格中的所有其他单元格在执行命令后都应该相同,只有位置
应该更改。我如何在安卓系统中做到这一点?我试过:
ContentValues werte = new ContentValues();
werte.put("_id", 5);
werte.put("Place", "Berlin");
long id = db.replace("tbl_Persons", null, werte);
但这是行不通的db.replace
返回-1
,android开发者网站显示:
返回新插入行的行ID,如果发生错误,返回-1
在Android中,我怎么能只更改数据库行中的一个单元格?试试这个
db.update(tbl_Persons, werte, "_id" + "=?",5);
并确保您有一个sqlite数据库的可写实例,如下所示
SQLiteDatabase db = this.getWritableDatabase();
试试这个
db.update(tbl_Persons, werte, "_id" + "=?",5);
并确保您有一个sqlite数据库的可写实例,如下所示
SQLiteDatabase db = this.getWritableDatabase();
你不应该在WHERE子句中使用_id。类似于“UPDATE tbl\u Persons SET Place='Berlin'WHERE\u id=5”
您不应该放置_id,应该在WHERE子句中使用它。类似于“更新tbl\u人员集合地点='Berlin'WHERE\u id=5”