View Full Version : خطا در اضافه كردن فيلد به جدول
sara_traveler
جمعه 15 شهریور 1392, 13:16 عصر
من زماني كه فيلد جديد به جدوولم اضافه ميكنم خطا ميده
در صورتي كه در ابتدا برنامه گفتم جدول پاك بشه
public void clearTable() {
database.delete(dbHelper.getTableName(), null, null);
}
و تنها زماني كه ديتابس جديد ايجاد ميكنم ميتونه جدولي با فيلدهاي جديدبسازه
واگرنه با ديتابيس قبلي نمي تونه
darkenerboy
جمعه 15 شهریور 1392, 14:15 عصر
بله
شما باید تو کلاست راهنمای پایگاه دادت تکلیف خودت رو روشن کنی که این فیلی هست یا نه !
اگه دو حالت پایگاه داده داری یک کلاس از روی این کلاسی که داری مشتق کن
و تغییراتی رو که میخوای رو روش اعمال کن
بعد با تشخیص صحیح در برنامت از یکیش استفاده کن
موفق باشی
sara_traveler
جمعه 15 شهریور 1392, 15:57 عصر
من دقيقا متوجه منظور شما نشدم
اما من فقط در يك جا دستور ايجاد جدول گذاشتم و بقيه جاها دارم از اون جدول استفاده ميكنم
darkenerboy
جمعه 15 شهریور 1392, 17:43 عصر
من اشتباه فهمیدم
لطفا سوالتون رو بیشتر توضیح بدید
ممنون
sara_traveler
جمعه 15 شهریور 1392, 21:35 عصر
ببينيد در يك كلاس من اينو گذاشتم
private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + " (" +
COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
COLUMN_NAME + " TEXT," +
COLUMN_VALUE + " TEXT ," +
COLUMN_fam + " TEXT ," +
COLUMN_code + " TEXT " +
");";
در قسمت oncreate ()
اينو فراخوني كردم
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE);
}
حالا در قسمت
protected void onResume() {
super.onResume();
dbHandler.open();
dbHandler.clearTable();
refreshList();
}
و
public void clearTable() {
database.delete(dbHelper.getTableName(), null, null);
}
با توجه به اينكه ابتدا onResume() فراخوني ميشه پس بايد جدول پاك بشه و بعد جدول جديد ساخته بشه
اما اين اتفاق نميفته
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.