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

قرار دادن اطلاعات جدید در یک جدول (table) موجود در پایگاه داده (SQLite Database)، در برنامه نویسی اندروید

فرض کنید که با کدهای زیر، قبلا یک پایگاه داده (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.close();
}catch(Exception e){
    Toast.makeText(getApplicationContext(), "Error in creating table", Toast.LENGTH_LONG).show();
}

با روش execSQL ، تعیین کرده ایم که یک جدول (table) با سه ستون (column) ساخته شود. نام ستون اول، برابر ID و از نوع INTEGER ، نام ستون دوم برابر NAME و از نوع TEXT و نام ستون سوم، برابر CITY و از نوع TEXT می باشد.

اکنون با کدهای زیر، تعدادی اطلاعات جدید را به صورت ردیف (row) به جدول (table) اضافه می کنیم (برای افزودن اطلاعات جدید، آنها را باید به صورت ردیف های جدید به جدول اضافه کنیم) :


String DATABASE_NAME = "KELIDESTAN.db";    
String TABLE_NAME = "MY_TABLE";      
try{
    SQLiteDatabase mydb = openOrCreateDatabase(DATABASE_NAME, Context.MODE_PRIVATE,null);
    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 in inserting into table", Toast.LENGTH_LONG).show();
}

چون سه سری اطلاعات به جدول (table) اضافه کرده ایم، بنابراین سه ردیف به جدول افزوده شده است. روش openOrCreateDatabase پایگاه داده را باز می کند (فرض کرده ایم که قبلا پایگاه داده و جدول را در آن ساخته ایم). در آخر کدها نیز از روش close برای بستن پایگاه داده استفاده کرده ایم. روش execSQL برای اجرا کردن عبارت های دستوری مورد نظرمان، برای اعمال تغییرات به پایگاه داده و جدول های آن به کار می رود. مثلا برای سری اول اطلاعات، اگر مقدار معادل با TABLE_NAME را جایگذاری کنیم، عبارت دستوری زیر درون پرانتز روش execSQL نوشته شده است :


INSERT INTO MY_TABLE (NAME, CITY) VALUES ('ALIREZA','SHIRAZ')

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

نویسنده علیرضا گلمکانی
شماره کلید 326
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 5 5 0
مبینا
۱۳۹۵/۰۵/۱۰
۰۰:۰۱

سلام و با تشکر از سایت خوبتون یه سوال داشتم من یه جدول با پنج ستون و هفت ردیف دارم نمی دونم برای این چه جوری دیتا بیس بنویسم البته این جدول من می خواد از کاربر اطلاعات بگیره همه خونه های این جدول editetext است ممنون می شم راهنماییم کنید 

admin
۱۳۹۵/۰۵/۱۰
۲۲:۴۳

سلام.
در کدها از openOrCreateDatabase برای ساخت پایگاه داده SQLite استفاده شده است که اگر از قبل، پایگاه داده وجود نداشته باشد، آن را می سازد.
بعد از ساخته شدن پایگاه داده، با query شامل عبارت CREATE TABLE IF  NOT EXISTS ، جدول (table) را می سازید که باید نام آن و مشخصات 5 ستون مورد نظرتان را برای آن تعیین کنید.
این دو مورد می تواند در ابتدای اجرای Activity صورت گیرد. بعد در Activity ، تعدادی EditText نمایش می دهید و یک Button هم خواهیم داشت () که با اشاره کاربر بر روی آن، مقادیر EditText ها دریافت شده و توسط یک سری کد (مشابه کدهای همین مبحث که شامل عبارت INSERT INTO می باشند)، به صورت ردیف های جدید در جدول (table) ذخیره می شوند.
حالا اینکه هر 7 ردیف را به صورت همزمان دریافت کنید یا با 7 بار دریافت جداگانه، بستگی به خودتان دارد.
در مورد EditText ها، دسته کلید زیر را ببینید :



Mr.Zeus
۱۳۹۵/۰۸/۱۵
۰۰:۳۲

ضمن عرض سلام و خسته نباشید ، میخواستم بگم که واقعا مطالب مفید و کاملی ارائه دادید مخصوصا بسیار کاربردی برای تازه واردایی مثل بنده
خیلی خیلی متشکرم از شما بابت سایت خوبی که دارید
 

سلام
۱۳۹۶/۰۵/۱۶
۱۲:۳۷

سلام خسته نباشید
میخاستم بدونم چطوری میتونم یه پایگاه داده با فرمت sql که قبلا ساختمش رو به پروژه اضافه کنم نه این که موقع اجرای برنامه ساخته بشه مثلا پایگاه داده ای که شامل متن یک کتابه  ممنون

سلام
۱۳۹۶/۰۵/۱۷
۱۱:۳۳

اگ آموزشی در این رابطه یعنی افزودن دیتابیس آماده به پروژه سراغ دارید لطفا معرفی کنید.

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