آموزش دیتابیس SQLite در اندروید - 5
پنجشنبه, ۲۶ دی ۱۳۹۸، ۰۹:۰۲ ب.ظ
متد update
از این متد برای آپدیت کردن رکوردها استفاده می شود. این متد توی کلاس دیتابیس تعریف شده.
این متد مقادیر فیلدهای مورد نظر را از ورودی گرفته (در اینجا کلاس Person) و در قالب یک contentValue آن را دیتابیس ارسال میکند.
نکته ای که این متد داره استفاده از Where هست، یعنی باید بگیم کدوم سطر از دیتابیس رو میخوایم آپدیت کنیم. توی این کد نمونه من آی دی رو برای آپدیت کردن دادم. (روش خوبیه، چون آی دی حتما برای هر رکورد یونیک هست)
از لحاظ امنیتی بهتره که شرط Where رو به صورت پارامتری بنویسیم. یعنی همین جوری که نوشتم با علامت سوال و اینا
و مقدارشو توی پارامتر بعدی به صورت آرایه ای از رشته پاس بدیم. اگر نخواستیم اینجوری بنویسیم، پارامتر چهارم null میشه. یعنی اینجوری:
String where = Labels.COLOUMN_ID + "= " + person.getId(); sqLiteDatabase.update(Labels.TABLE_NAME, contentValues, where, null);
اگر دو تا یا بیشتر شرط داشته باشیم، باید از AND استفاده کنیم. بدین صورت:
String where = Labels.COLOUMN_ID + "= ? AND" + Labels.COLOUMN_USER_NAME + "=?"; sqLiteDatabase.update(Labels.TABLE_NAME, contentValues, where, new String[]{String.valueOf(person.getId()), person.getUserName()});
۹۸/۱۰/۲۶