بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
به روز کردن دیتابیس با استفاده از کتابخانه SqliteHelper
سلام! توی مستندات کتابخونه اش نوشته اگه دیتابیس تون فقط برای نمایشه ( که مال ما هست! ) کافیه از دستور setForcedUpgrade() استفاده کنید! اما متاسفانه هر جا که از این دستور استفاده میکنم دیتابیس آپگرید نمیشه!!
کد ها رو میزارم :
public class MyDatabase extends SQLiteAssetHelper {
private static final String DATABASE_NAME = "database.db";
private static final int DATABASE_VERSION = 2;
public MyDatabase(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
setForcedUpgrade(); }
}
اینجا استفاده کردم نشد :|
public class SingleListItem extends Activity{
MyDatabase my;
SQLiteDatabase sq;
my = new MyDatabase(getApplicationContext());
my.setForcedUpgrade();
sq = my.getWritableDatabase();
}
اینجا هم استفاده کردم نشد! :| توی مانیفست و دیتابیس، ورژن ها رو یکی بردم بالا!
ممنون میشم راهنمایی کنید :دی
0
0
اینم مستنداتش! لینک انگار طلسم شدم :دی سوالام جواب نمیگیرن :)) (12 سال پیش)
0
0
اگر فقط برای نمایش هست یعنی نمیخوای ویرایش کنی ! یعنی readonly هست. نباید تغییر توش بدی (12 سال پیش)
0
0
من فکر کردم موضوع update هست . آپگرید میشه کرد (12 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
h_r_v
12 سال پیش
+1
0
جواب:اول باید DATABASE_VERSION رو زیاد کنیم!! این متد رو توی MyDatabase بزاریم! با اینکار وقتی که یک برنامه نصب بشه که DATABASE_VERSION بیشتری از نسخه از قبل نصب شده داشته باشه، این متد اجرا میشه! اگر کدی توش نذارید Overwrite میکنه! اما میتوانید دستورات SQL بزارید که دیتابیس فقط آپدیت شه نه Overwrite!
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .