آموزش برنامه نویسی اندروید (Android)
۴۱۹ آموزش
نمایش دسته بندی ها (۴۱۹ آموزش)

به روز رسانی (update) ردیف هایی از یک جدول (table) موجود در یک پایگاه داده (SQLite Database)، بر اساس مقدار یک ستون (column) خاص، در برنامه نویسی اندروید

فرض کنید که با کدهای زیر، قبلا یک پایگاه داده (SQLite Database) با نام KELIDESTAN.db و یک جدول (table) با نام MY_TABLE برای آن پایگاه داده، ساخته ایم و همچنین سه ردیف اطلاعات را در آن ذخیره کرده ایم :


String DATABASE_NAME = "KELIDESTAN.db";  
String TABLE_NAME = "MY_TABLE";    
try{
    SQLiteDatabase mydb = openOrCreateDatabase(DATABASE_NAME, Context.MODE_PRIVATE,null);
    mydb.execSQL("CREATE TABLE IF  NOT EXISTS "+ TABLE_NAME +" (ID INTEGER PRIMARY KEY, NAME TEXT, CITY TEXT);");
    mydb.execSQL("INSERT INTO " + TABLE_NAME + " (NAME, CITY) VALUES ('ALIREZA','SHIRAZ')");
    mydb.execSQL("INSERT INTO " + TABLE_NAME + " (NAME, CITY) VALUES ('HAMID','TEHRAN')");
    mydb.execSQL("INSERT INTO " + TABLE_NAME + " (NAME, CITY) VALUES ('HASAN','GHOM')");
    mydb.close();
}catch(Exception e){
    Toast.makeText(getApplicationContext(), "Error", Toast.LENGTH_LONG).show();
}

اکنون می خواهیم ردیف هایی که در آنها، ستون CITY برابر SHIRAZ است، به روز رسانی (update) شده و مقدار دیگری برای ستون NAME آنها در نظر گرفته شود، برای این منظور، کدهای زیر را می نویسیم :


String DATABASE_NAME = "KELIDESTAN.db";    
String TABLE_NAME = "MY_TABLE";    
try{
    SQLiteDatabase mydb = openOrCreateDatabase(DATABASE_NAME, Context.MODE_PRIVATE,null);
    mydb.execSQL("UPDATE " + TABLE_NAME + " SET NAME = 'MOHSEN' WHERE CITY = 'SHIRAZ'");
    mydb.close();
}catch(Exception e){
    Toast.makeText(getApplicationContext(), "Error encountered while deleting.", Toast.LENGTH_LONG).show();
}

همان طور که می دانید، روش execSQL ، یک عبارت دستوری را دریافت می کند و سپس بر اساس آن، پایگاه داده و جدول ها را تغییر خواهد داد. اگر مقدار مربوط به TABLE_NAME در عبارت دستوری نوشته شده درون پرانتز روش execSQL را در عبارت دستوری، جایگزین کنیم، آنگاه عبارت دستوری به صورت زیر می باشد :


UPDATE MY_TABLE SET NAME = 'MOHSEN' WHERE CITY = 'SHIRAZ'

عبارت دستوری فوق، تعیین کرده است که درون جدول با نام MY_TABLE ، هر ردیفی که در آن، مقدار ستون با نام CITY برابر با SHIRAZ است، مقدار ستون با نام NAME ، در آن ردیف، به مقدار MOHSEN تغییر داده شود (به روز رسانی مقدار آن ستون از ردیف).

نویسنده علیرضا گلمکانی
شماره کلید 329
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)