قرار دادن اطلاعات جدید در یک جدول (table) موجود در پایگاه داده (SQLite Database)، در برنامه نویسی اندروید
فرض کنید که با کدهای زیر، قبلا یک پایگاه داده (SQLite Database) با نام KELIDESTAN.db و یک جدول (table) با نام MY_TABLE برای آن پایگاه داده، ساخته ایم :
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 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 نوشته شده است :
این عبارت دستوری، تعیین کرده است که در جدول با نام MY_TABLE ، یک ردیف جدید افزوده شود که در ستون NAME از آن، مقدار ALIREZA و در ستون CITY از آن، مقدار SHIRAZ قرار داده شود.
سلام و با تشکر از سایت خوبتون یه سوال داشتم من یه جدول با پنج ستون و هفت ردیف دارم نمی دونم برای این چه جوری دیتا بیس بنویسم البته این جدول من می خواد از کاربر اطلاعات بگیره همه خونه های این جدول editetext است ممنون می شم راهنماییم کنید
سلام.
در کدها از openOrCreateDatabase برای ساخت پایگاه داده SQLite استفاده شده است که اگر از قبل، پایگاه داده وجود نداشته باشد، آن را می سازد.
بعد از ساخته شدن پایگاه داده، با query شامل عبارت CREATE TABLE IF NOT EXISTS ، جدول (table) را می سازید که باید نام آن و مشخصات 5 ستون مورد نظرتان را برای آن تعیین کنید.
این دو مورد می تواند در ابتدای اجرای Activity صورت گیرد. بعد در Activity ، تعدادی EditText نمایش می دهید و یک Button هم خواهیم داشت () که با اشاره کاربر بر روی آن، مقادیر EditText ها دریافت شده و توسط یک سری کد (مشابه کدهای همین مبحث که شامل عبارت INSERT INTO می باشند)، به صورت ردیف های جدید در جدول (table) ذخیره می شوند.
حالا اینکه هر 7 ردیف را به صورت همزمان دریافت کنید یا با 7 بار دریافت جداگانه، بستگی به خودتان دارد.
در مورد EditText ها، دسته کلید زیر را ببینید :
ضمن عرض سلام و خسته نباشید ، میخواستم بگم که واقعا مطالب مفید و کاملی ارائه دادید مخصوصا بسیار کاربردی برای تازه واردایی مثل بنده
خیلی خیلی متشکرم از شما بابت سایت خوبی که دارید
سلام خسته نباشید
میخاستم بدونم چطوری میتونم یه پایگاه داده با فرمت sql که قبلا ساختمش رو به پروژه اضافه کنم نه این که موقع اجرای برنامه ساخته بشه مثلا پایگاه داده ای که شامل متن یک کتابه ممنون
اگ آموزشی در این رابطه یعنی افزودن دیتابیس آماده به پروژه سراغ دارید لطفا معرفی کنید.