19. Androidda ma’lumotlar bazasidagi ma’lumotni yangilash.
Yangilash funksiyasi kiritishga juda oʻxshaydi, lekin u ikkita qoʻshimcha parametr
talab qiladi, nullColumnHack talab qilmaydi. Uning jami to'rtta
parametri bor,
ikkitasi tableName va contentValues qo'shish funktsiyasiga o'xshaydi. Yana ikkitasi
whereClause(String) va whereArgs(String[]).
Yangilash funksiyasi SQLiteDatabase sinfida mavjud, u quyidagicha ko'rinadi:
public
int
update
(
String
tableName
,
ContentValues
contentValues
,
String
whereClau
se
,
String
[]
whereArgs
)
Bu yerda whereClause maʼlumotlar bazasiga jadvaldagi maʼlumotlarni
qayerda
yangilash
kerakligini bildiradi, Xuddi shunday whereArgs massivi qo'yilgan
ustunlar uchun qiymatlarni o'z ichiga oladi. Yangilash
funktsiyasi muvaffaqiyatli
bo'lsa, ta'sirlangan qatorlar sonini qaytaradi, aks holda 0.
public
void
updateItem
(
Item
item
)
{
SQLiteDatabase
db
=
getWritableDatabase
();
ContentValues
contentValues
=
new
ContentValues
();
contentValues
.
put
(
"id"
,
item
.
id
);
contentValues
.
put
(
"name"
,
item
.
name
);
contentValues
.
put
(
"description"
,
item
.
description
);
String
whereClause
=
"id=?"
;
String
whereArgs
[]
=
{
item
.
id
.
toString
()};
db
.
update
(
"Items"
,
contentValues
,
whereClause
,
whereArgs
);
}