پایگاه داده (SQLite Database)، در برنامه نویسی اندروید

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
فهرست تاپیک:

  1. ساخت یک پایگاه داده (SQLite Database) و یک جدول (table) برای آن، در برنامه نویسی اندروید
  2. قرار دادن اطلاعات جدید در یک جدول (table) موجود در پایگاه داده (SQLite Database)، در برنامه نویسی اندروید
  3. حذف کردن یک جدول (table) موجود در پایگاه داده (SQLite Database)، در برنامه نویسی اندروید
  4. حذف کردن ردیف هایی از یک جدول (table) موجود در یک پایگاه داده (SQLite Database)، بر اساس مقدار یک ستون (column) خاص، در برنامه نویسی اندروید
  5. به روز رسانی (update) ردیف هایی از یک جدول (table) موجود در یک پایگاه داده (SQLite Database)، بر اساس مقدار یک ستون (column) خاص، در برنامه نویسی اندروید
  6. خواندن اطلاعات از پایگاه داده (SQLite Database)، در برنامه نویسی اندروید
  7. حذف کردن یک پایگاه داده (SQLite Database)، در برنامه نویسی اندروید
  8. نصب پلاگین SQLiteManager برای مشاهده اطلاعات موجود در یک فایل مربوط به پایگاه داده SQLite ، توسط برنامه eclipse ، در برنامه نویسی اندروید
  9. نصب پلاگین SQLite Manager برای مرورگر اینترنت Firefox ، برای مشاهده و کار با پایگاه داده SQLite و یا ساختن یک پایگاه داده SQLite جدید
  10. تبدیل اطلاعات موجود در Excel ، به پایگاه داده SQLite (برای برنامه نویسی اندروید)، با استفاده از فایل با فرمت csv


منبع: kelidestan.com
 

P O U R I A

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

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

برای ساخت پایگاه داده (Database) در برنامه اندروید، پایگاه داده SQLite را به کار می بریم. پایگاه داده SQLite ، یک پایگاه داده ساده است که تنها در طرف کاربر (client side) مورد استفاده قرار می گیرد و نیازی به سرور (server) ندارد. بنابراین اگر در ادامه، تنها از لفظ پایگاه داده استفاده کردیم، منظورمان همان پایگاه داده SQLite می باشد.

معمولا کلاس هایی (class) برای راحت تر کار کردن با پایگاه داده (SQLite Database) در برنامه نویسی اندروید، ارائه می شود، ولی ما فعلا قصد داریم که با اصول کدنویسی مربوط به پایگاه داده در برنامه نویسی اندروید آشنا شویم و بنابراین در یک سری مباحث مختلف، بخش های مختلف کار با پایگاه داده را شرح خواهیم داد. شما می توانید ابتدا این مباحث را خوانده و اصول را یاد بگیرید و سپس به دلخواه، از یکی از کلاس های موجود در اینترنت، استفاده کنید.

فرض کنید که بخواهیم یک پایگاه داده (SQLite Database) با نام KELIDESTAN.db بسازیم و در آن، یک جدول (table) با نام MY_TABLE قرار بدهیم، برای این منظور، کدهای زیر را می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#003399]String[/COLOR] DATABASE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"KELIDESTAN.db"[/COLOR][COLOR=#339933];[/COLOR]    
[COLOR=#003399]String[/COLOR] TABLE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"MY_TABLE"[/COLOR][COLOR=#339933];[/COLOR]      
[B]try[/B][COLOR=#009900]{[/COLOR]
    SQLiteDatabase mydb [COLOR=#339933]=[/COLOR] openOrCreateDatabase[COLOR=#009900]([/COLOR]DATABASE_NAME, [COLOR=#003399]Context[/COLOR].[COLOR=#006633]MODE_PRIVATE[/COLOR],[COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"CREATE TABLE IF  NOT EXISTS "[/COLOR][COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR][COLOR=#0000FF]" (ID INTEGER PRIMARY KEY, NAME TEXT, CITY TEXT);"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][B]catch[/B][COLOR=#009900]([/COLOR][COLOR=#003399]Exception[/COLOR] e[COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    Toast.[COLOR=#006633]makeText[/COLOR][COLOR=#009900]([/COLOR]getApplicationContext[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR], [COLOR=#0000FF]"Error in creating table"[/COLOR], Toast.[COLOR=#006633]LENGTH_LONG[/COLOR][COLOR=#009900])[/COLOR].[COLOR=#006633]show[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
ویژگی های مربوط به جدول (table) را به طور دلخواه در نظر گرفته ایم و فعلا تنها هدفمان این است که با چگونگی ساخت یک پایگاه داده (SQLite Database) و همچنین ساخت یک جدول (table) برای آن، آشنا بشویم. فقط در همین حد بدانید که با عبارت نوشته شده درون روش execSQL ، تعیین کرده ایم که یک جدول (table) با سه ستون (column) ساخته شود. نام ستون اول، برابر ID و از نوع INTEGER ، نام ستون دوم برابر NAME و از نوع TEXT و نام ستون سوم، برابر CITY و از نوع TEXT می باشد.

همان طور که مشاهده می کنید، از ترکیب try و catch استفاده کرده ایم و در صورتی که در اجرای دستورات مربوط به ساخت پایگاه داده و جدول، خطایی به وجود بیاید، یک پیام به مدت چند ثاتیه به شما نمایش داده می شود (توسط Toast).

به این خط از کدها توجه کنید :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]SQLiteDatabase mydb [COLOR=#339933]=[/COLOR] openOrCreateDatabase[COLOR=#009900]([/COLOR]DATABASE_NAME, [COLOR=#003399]Context[/COLOR].[COLOR=#006633]MODE_PRIVATE[/COLOR],[COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR][/FONT]
[/FONT][/COLOR]
از روش openOrCreateDatabase برای ساخت پایگاده داده (SQLite Database) استفاده کرده ایم. این روش چک می کند که اگر پایگاه داده، قبلا ساخته شده باشد، آن را باز می کند و یا اگر پایگاه داده ای با آن نام، قبلا ساخته نشده باشد، آن را ساخته و سپس باز می کند. نتیجه به صورت یک SQLiteDatabase با نام mydb می باشد.

سپس با استفاده از روش execSQL ، عبارت لازم برای ساخت یک جدول (table) برای پایگاه داده (SQLite Database) را اجرا می کنیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"CREATE TABLE IF  NOT EXISTS "[/COLOR][COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR][COLOR=#0000FF]" (ID INTEGER PRIMARY KEY, NAME TEXT, PLACE TEXT);"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR][/FONT]
[/FONT][/COLOR]
در آخر، باید پایگاه داده را که باز کرده ایم، با استفاده از روش close ببندیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]mydb.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR][/FONT]
[/FONT][/COLOR]
[h=2]محل ذخیره فایل مربوط به پایگاه داده (SQLite Database) در حافظه خارجی (External Storage) :[/h]فایل مربوط به پایگاه داده ای که ساخته ایم، در حافظه خارجی (همان پوشه های اصلی گوشی اندروید)، ذخیره می شود، اما چنانچه فولدر مربوط به آن را در گوشی اندروید باز کنید، هیچ فایلی مشاهده نمی کنید (قابل مشاهده توسط شما نیست). اگر بخواهیم که فایل مربوط به پایگاه داده (SQLite Database) در یک مسیر خاص ذخیره شود، می توانیم با یک سری کد، به این هدف برسیم، اما اگر هیچ کدی برای تعیین مسیر آن ننویسیم، فایل مربوط به پایگاه داده، به صورت پیش فرض، در مسیر زیر از حافظه خارجی (External Storage) ذخیره خواهد شد :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]ROOT[COLOR=#339933]/[/COLOR]data[COLOR=#339933]/[/COLOR]data[COLOR=#339933]/[/COLOR]APP_NAME[COLOR=#339933]/[/COLOR]databases[COLOR=#339933]/[/COLOR]FILENAME[/FONT]
[/FONT][/COLOR]
که در آن، ROOT برابر مسیر پوشه (folder) اصلی حافظه خارجی (External Storage) می باشد. APP_NAME برابر نام برنامه اندروید ما (در واقع نام package برنامه) و FILENAME برابر نامی می باشد که در کدهایمان، برای پایگاه داده تعیین کردیم. باز هم تذکر می دهم که فایل مربوط به پایگاه داده را نمی توان در فولدربندی گوشی اندروید، به صورت عادی، مشاهده نمود (باید از روش های دیگری استفاده کرد). در واقع شما به آن دسترسی ندارید (برای امنیت پایگاه داده و اطلاعات برنامه)(فقط با اتصال به کامپیوتر و استفاده از نرم افزارهای خاصی می توان آن را دید). بنابراین اگر برایتان اهمیت دارد که حتما فایل پایگاه داده را ببینید، یک مسیر در پوشه ای دلخواه برای آن تعیین کنید تا بتوانید به فایل پایگاه داده دسترسی داشته باشید (اطلاعاتی که در مسیر پیش فرض قرار می گیرند، حفاظت شده هستند، پس شما می توانید یک مسیر دلخواه برای ساخت آن تعیین کنید، ولی با این کار، دیگران نیز به راحتی می توانند به آن دسترسی پیدا کنند).

به پوشه مربوط به مسیر پیش فرضی که ذکر کردیم، حافظه داخلی (Internal Storage) گفته می شود که تنها خود برنامه اندروید به آن دسترسی دارد (برای امنیت اطلاعات برنامه اندروید) و به بقیه حافظه، حافظه خارجی (External Storage) گفته می شود که تمامی برنامه های اندروید گوشی به آن بخش از حافظه، دسترسی دارند. بنابراین دو کلمه داخلی و خارجی شما را گیج نکند، هر دو موردی که گفتیم، بخش هایی از خود حافظه اصلی گوشی می باشند (برای کارت های حافظه که بر روی گوشی قرار داده می شوند، بهتر است که عبارت Removeable External Storage را به کار ببریم تا متفاوت از این موارد در نظر گرفته شود).

مسیر پوشه اصلی حافظه خارجی را معمولا با کد زیر به دست می آورند (تنها برای دانستن، آن را ذکر می کنیم و در این مبحث، کاربردی برای ما ندارد) :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#003399]File[/COLOR] ROOT [COLOR=#339933]=[/COLOR] android.[COLOR=#006633]os[/COLOR].[COLOR=#003399]Environment[/COLOR].[COLOR=#006633]getExternalStorageDirectory[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR][/FONT]
[/FONT][/COLOR]
 

P O U R I A

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

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

فرض کنید که با کدهای زیر، قبلا یک پایگاه داده (SQLite Database) با نام KELIDESTAN.db و یک جدول (table) با نام MY_TABLE برای آن پایگاه داده، ساخته ایم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#003399]String[/COLOR] DATABASE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"KELIDESTAN.db"[/COLOR][COLOR=#339933];[/COLOR]    
[COLOR=#003399]String[/COLOR] TABLE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"MY_TABLE"[/COLOR][COLOR=#339933];[/COLOR]       
[B]try[/B][COLOR=#009900]{[/COLOR]
    SQLiteDatabase mydb [COLOR=#339933]=[/COLOR] openOrCreateDatabase[COLOR=#009900]([/COLOR]DATABASE_NAME, [COLOR=#003399]Context[/COLOR].[COLOR=#006633]MODE_PRIVATE[/COLOR],[COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"CREATE TABLE IF  NOT EXISTS "[/COLOR][COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR][COLOR=#0000FF]" (ID INTEGER PRIMARY KEY, NAME TEXT, CITY TEXT);"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][B]catch[/B][COLOR=#009900]([/COLOR][COLOR=#003399]Exception[/COLOR] e[COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    Toast.[COLOR=#006633]makeText[/COLOR][COLOR=#009900]([/COLOR]getApplicationContext[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR], [COLOR=#0000FF]"Error in creating table"[/COLOR], Toast.[COLOR=#006633]LENGTH_LONG[/COLOR][COLOR=#009900])[/COLOR].[COLOR=#006633]show[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
با روش execSQL ، تعیین کرده ایم که یک جدول (table) با سه ستون (column) ساخته شود. نام ستون اول، برابر ID و از نوع INTEGER ، نام ستون دوم برابر NAME و از نوع TEXT و نام ستون سوم، برابر CITY و از نوع TEXT می باشد.

اکنون با کدهای زیر، تعدادی اطلاعات جدید را به صورت ردیف (row) به جدول (table) اضافه می کنیم (برای افزودن اطلاعات جدید، آنها را باید به صورت ردیف های جدید به جدول اضافه کنیم) :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#003399]String[/COLOR] DATABASE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"KELIDESTAN.db"[/COLOR][COLOR=#339933];[/COLOR]    
[COLOR=#003399]String[/COLOR] TABLE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"MY_TABLE"[/COLOR][COLOR=#339933];[/COLOR]       
[B]try[/B][COLOR=#009900]{[/COLOR]
    SQLiteDatabase mydb [COLOR=#339933]=[/COLOR] openOrCreateDatabase[COLOR=#009900]([/COLOR]DATABASE_NAME, [COLOR=#003399]Context[/COLOR].[COLOR=#006633]MODE_PRIVATE[/COLOR],[COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"INSERT INTO "[/COLOR] [COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR] [COLOR=#0000FF]" (NAME, CITY) VALUES ('ALIREZA','SHIRAZ')"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"INSERT INTO "[/COLOR] [COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR] [COLOR=#0000FF]" (NAME, CITY) VALUES ('HAMID','TEHRAN')"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"INSERT INTO "[/COLOR] [COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR] [COLOR=#0000FF]" (NAME, CITY) VALUES ('HASAN','GHOM')"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][B]catch[/B][COLOR=#009900]([/COLOR][COLOR=#003399]Exception[/COLOR] e[COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    Toast.[COLOR=#006633]makeText[/COLOR][COLOR=#009900]([/COLOR]getApplicationContext[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR], [COLOR=#0000FF]"Error in inserting into table"[/COLOR], Toast.[COLOR=#006633]LENGTH_LONG[/COLOR][COLOR=#009900])[/COLOR].[COLOR=#006633]show[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
چون سه سری اطلاعات به جدول (table) اضافه کرده ایم، بنابراین سه ردیف به جدول افزوده شده است. روش openOrCreateDatabase پایگاه داده را باز می کند (فرض کرده ایم که قبلا پایگاه داده و جدول را در آن ساخته ایم). در آخر کدها نیز از روش close برای بستن پایگاه داده استفاده کرده ایم. روش execSQL برای اجرا کردن عبارت های دستوری مورد نظرمان، برای اعمال تغییرات به پایگاه داده و جدول های آن به کار می رود. مثلا برای سری اول اطلاعات، اگر مقدار معادل با TABLE_NAME را جایگذاری کنیم، عبارت دستوری زیر درون پرانتز روش execSQL نوشته شده است :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]INSERT INTO MY_TABLE [COLOR=#009900]([/COLOR]NAME, CITY[COLOR=#009900])[/COLOR] VALUES [COLOR=#009900]([/COLOR][COLOR=#0000FF]'ALIREZA'[/COLOR],[COLOR=#0000FF]'SHIRAZ'[/COLOR][COLOR=#009900])[/COLOR][/FONT]
[/FONT][/COLOR]
این عبارت دستوری، تعیین کرده است که در جدول با نام MY_TABLE ، یک ردیف جدید افزوده شود که در ستون NAME از آن، مقدار ALIREZA و در ستون CITY از آن، مقدار SHIRAZ قرار داده شود.
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
حذف کردن یک جدول (table) موجود در پایگاه داده (SQLite Database)، در برنامه نویسی اندروید

حذف کردن یک جدول (table) موجود در پایگاه داده (SQLite Database)، در برنامه نویسی اندروید

فرض کنید که قبلا یک جدول با نام MY_TABLE در پایگاه داده ای (SQLite Database) با نام KELIDESTAN.db ساخته ایم و اکنون قصد داریم که آن جدول را حذف کنیم، برای این منظور، باید کدهای زیر را بنویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#003399]String[/COLOR] DATABASE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"KELIDESTAN.db"[/COLOR][COLOR=#339933];[/COLOR]    
[COLOR=#003399]String[/COLOR] TABLE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"MY_TABLE"[/COLOR][COLOR=#339933];[/COLOR]       
[B]try[/B][COLOR=#009900]{[/COLOR]
    SQLiteDatabase mydb [COLOR=#339933]=[/COLOR] openOrCreateDatabase[COLOR=#009900]([/COLOR]DATABASE_NAME, [COLOR=#003399]Context[/COLOR].[COLOR=#006633]MODE_PRIVATE[/COLOR],[COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"DROP TABLE "[/COLOR] [COLOR=#339933]+[/COLOR] TABLE_NAME[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][B]catch[/B][COLOR=#009900]([/COLOR][COLOR=#003399]Exception[/COLOR] e[COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    Toast.[COLOR=#006633]makeText[/COLOR][COLOR=#009900]([/COLOR]getApplicationContext[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR], [COLOR=#0000FF]"Error encountered while dropping."[/COLOR], Toast.[COLOR=#006633]LENGTH_LONG[/COLOR][COLOR=#009900])[/COLOR].[COLOR=#006633]show[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
همان طور که می دانید، روش execSQL یک عبارت دستوری را دریافت می کند و سپس بر اساس آن، تغییرات را به پایگاه داده و جدول ها، اعمال می کند. اگر مقدار معادل TABLE_NAME را جایگزین کنیم، عبارت دستوری نوشته شده درون پرانتز روش execSQL ، به صورت زیر می باشد :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]DROP TABLE MY_TABLE[/FONT]
[/FONT][/COLOR]
که بیان می کند که جدول با نام MY_TABLE که درون پایگاه داده تعریف شده است، حذف شود.
 

P O U R I A

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

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

فرض کنید که با کدهای زیر، قبلا یک پایگاه داده (SQLite Database) با نام KELIDESTAN.db و یک جدول (table) با نام MY_TABLE برای آن پایگاه داده، ساخته ایم و همچنین سه ردیف اطلاعات را در آن ذخیره کرده ایم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#003399]String[/COLOR] DATABASE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"KELIDESTAN.db"[/COLOR][COLOR=#339933];[/COLOR]   
[COLOR=#003399]String[/COLOR] TABLE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"MY_TABLE"[/COLOR][COLOR=#339933];[/COLOR]       
[B]try[/B][COLOR=#009900]{[/COLOR]
    SQLiteDatabase mydb [COLOR=#339933]=[/COLOR] openOrCreateDatabase[COLOR=#009900]([/COLOR]DATABASE_NAME, [COLOR=#003399]Context[/COLOR].[COLOR=#006633]MODE_PRIVATE[/COLOR],[COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"CREATE TABLE IF  NOT EXISTS "[/COLOR][COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR][COLOR=#0000FF]" (ID INTEGER PRIMARY KEY, NAME TEXT, CITY TEXT);"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"INSERT INTO "[/COLOR] [COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR] [COLOR=#0000FF]" (NAME, CITY) VALUES ('ALIREZA','SHIRAZ')"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"INSERT INTO "[/COLOR] [COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR] [COLOR=#0000FF]" (NAME, CITY) VALUES ('HAMID','TEHRAN')"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"INSERT INTO "[/COLOR] [COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR] [COLOR=#0000FF]" (NAME, CITY) VALUES ('HASAN','GHOM')"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][B]catch[/B][COLOR=#009900]([/COLOR][COLOR=#003399]Exception[/COLOR] e[COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    Toast.[COLOR=#006633]makeText[/COLOR][COLOR=#009900]([/COLOR]getApplicationContext[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR], [COLOR=#0000FF]"Error"[/COLOR], Toast.[COLOR=#006633]LENGTH_LONG[/COLOR][COLOR=#009900])[/COLOR].[COLOR=#006633]show[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
اکنون می خواهیم ردیف هایی که در آنها، ستون CITY برابر SHIRAZ است، حذف شوند، برای این منظور، کدهای زیر را می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#003399]String[/COLOR] DATABASE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"KELIDESTAN.db"[/COLOR][COLOR=#339933];[/COLOR]    
[COLOR=#003399]String[/COLOR] TABLE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"MY_TABLE"[/COLOR][COLOR=#339933];[/COLOR]     
[B]try[/B][COLOR=#009900]{[/COLOR]
    SQLiteDatabase mydb [COLOR=#339933]=[/COLOR] openOrCreateDatabase[COLOR=#009900]([/COLOR]DATABASE_NAME, [COLOR=#003399]Context[/COLOR].[COLOR=#006633]MODE_PRIVATE[/COLOR],[COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"DELETE FROM "[/COLOR] [COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR] [COLOR=#0000FF]" WHERE CITY = 'SHIRAZ'"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][B]catch[/B][COLOR=#009900]([/COLOR][COLOR=#003399]Exception[/COLOR] e[COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    Toast.[COLOR=#006633]makeText[/COLOR][COLOR=#009900]([/COLOR]getApplicationContext[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR], [COLOR=#0000FF]"Error encountered while deleting."[/COLOR], Toast.[COLOR=#006633]LENGTH_LONG[/COLOR][COLOR=#009900])[/COLOR].[COLOR=#006633]show[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
همان طور که می دانید، روش execSQL ، یک عبارت دستوری را دریافت می کند و سپس بر اساس آن، پایگاه داده و جدول ها را تغییر خواهد داد. اگر مقدار مربوط به TABLE_NAME در عبارت دستوری نوشته شده درون پرانتز روش execSQL را در عبارت دستوری، جایگزین کنیم، آنگاه عبارت دستوری به صورت زیر می باشد :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]DELETE FROM MY_TABLE WHERE CITY [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]'SHIRAZ'[/COLOR][/FONT]
[/FONT][/COLOR]
عبارت دستوری فوق، تعیین کرده است که درون جدول با نام MY_TABLE ، هر ردیفی که در آن، مقدار ستون با نام CITY برابر با SHIRAZ است، آن ردیف جدول، حذف شود.
 

P O U R I A

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

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

فرض کنید که با کدهای زیر، قبلا یک پایگاه داده (SQLite Database) با نام KELIDESTAN.db و یک جدول (table) با نام MY_TABLE برای آن پایگاه داده، ساخته ایم و همچنین سه ردیف اطلاعات را در آن ذخیره کرده ایم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#003399]String[/COLOR] DATABASE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"KELIDESTAN.db"[/COLOR][COLOR=#339933];[/COLOR]   
[COLOR=#003399]String[/COLOR] TABLE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"MY_TABLE"[/COLOR][COLOR=#339933];[/COLOR]     
[B]try[/B][COLOR=#009900]{[/COLOR]
    SQLiteDatabase mydb [COLOR=#339933]=[/COLOR] openOrCreateDatabase[COLOR=#009900]([/COLOR]DATABASE_NAME, [COLOR=#003399]Context[/COLOR].[COLOR=#006633]MODE_PRIVATE[/COLOR],[COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"CREATE TABLE IF  NOT EXISTS "[/COLOR][COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR][COLOR=#0000FF]" (ID INTEGER PRIMARY KEY, NAME TEXT, CITY TEXT);"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"INSERT INTO "[/COLOR] [COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR] [COLOR=#0000FF]" (NAME, CITY) VALUES ('ALIREZA','SHIRAZ')"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"INSERT INTO "[/COLOR] [COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR] [COLOR=#0000FF]" (NAME, CITY) VALUES ('HAMID','TEHRAN')"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"INSERT INTO "[/COLOR] [COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR] [COLOR=#0000FF]" (NAME, CITY) VALUES ('HASAN','GHOM')"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][B]catch[/B][COLOR=#009900]([/COLOR][COLOR=#003399]Exception[/COLOR] e[COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    Toast.[COLOR=#006633]makeText[/COLOR][COLOR=#009900]([/COLOR]getApplicationContext[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR], [COLOR=#0000FF]"Error"[/COLOR], Toast.[COLOR=#006633]LENGTH_LONG[/COLOR][COLOR=#009900])[/COLOR].[COLOR=#006633]show[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
اکنون می خواهیم ردیف هایی که در آنها، ستون CITY برابر SHIRAZ است، به روز رسانی (update) شده و مقدار دیگری برای ستون NAME آنها در نظر گرفته شود، برای این منظور، کدهای زیر را می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#003399]String[/COLOR] DATABASE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"KELIDESTAN.db"[/COLOR][COLOR=#339933];[/COLOR]    
[COLOR=#003399]String[/COLOR] TABLE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"MY_TABLE"[/COLOR][COLOR=#339933];[/COLOR]     
[B]try[/B][COLOR=#009900]{[/COLOR]
    SQLiteDatabase mydb [COLOR=#339933]=[/COLOR] openOrCreateDatabase[COLOR=#009900]([/COLOR]DATABASE_NAME, [COLOR=#003399]Context[/COLOR].[COLOR=#006633]MODE_PRIVATE[/COLOR],[COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"UPDATE "[/COLOR] [COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR] [COLOR=#0000FF]" SET NAME = 'MOHSEN' WHERE CITY = 'SHIRAZ'"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][B]catch[/B][COLOR=#009900]([/COLOR][COLOR=#003399]Exception[/COLOR] e[COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    Toast.[COLOR=#006633]makeText[/COLOR][COLOR=#009900]([/COLOR]getApplicationContext[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR], [COLOR=#0000FF]"Error encountered while deleting."[/COLOR], Toast.[COLOR=#006633]LENGTH_LONG[/COLOR][COLOR=#009900])[/COLOR].[COLOR=#006633]show[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
همان طور که می دانید، روش execSQL ، یک عبارت دستوری را دریافت می کند و سپس بر اساس آن، پایگاه داده و جدول ها را تغییر خواهد داد. اگر مقدار مربوط به TABLE_NAME در عبارت دستوری نوشته شده درون پرانتز روش execSQL را در عبارت دستوری، جایگزین کنیم، آنگاه عبارت دستوری به صورت زیر می باشد :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]UPDATE MY_TABLE SET NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]'MOHSEN'[/COLOR] WHERE CITY [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]'SHIRAZ'[/COLOR][/FONT]
[/FONT][/COLOR]
عبارت دستوری فوق، تعیین کرده است که درون جدول با نام MY_TABLE ، هر ردیفی که در آن، مقدار ستون با نام CITY برابر با SHIRAZ است، مقدار ستون با نام NAME ، در آن ردیف، به مقدار MOHSEN تغییر داده شود (به روز رسانی مقدار آن ستون از ردیف).
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
خواندن اطلاعات از پایگاه داده (SQLite Database)، در برنامه نویسی اندروید

خواندن اطلاعات از پایگاه داده (SQLite Database)، در برنامه نویسی اندروید

فرض کنید که با کدهای زیر، قبلا یک پایگاه داده (SQLite Database) با نام KELIDESTAN.db و یک جدول (table) با نام MY_TABLE برای آن پایگاه داده، ساخته ایم و همچنین سه ردیف اطلاعات را در آن ذخیره کرده ایم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#003399]String[/COLOR] DATABASE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"KELIDESTAN.db"[/COLOR][COLOR=#339933];[/COLOR]   
[COLOR=#003399]String[/COLOR] TABLE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"MY_TABLE"[/COLOR][COLOR=#339933];[/COLOR]     
[B]try[/B][COLOR=#009900]{[/COLOR]
    SQLiteDatabase mydb [COLOR=#339933]=[/COLOR] openOrCreateDatabase[COLOR=#009900]([/COLOR]DATABASE_NAME, [COLOR=#003399]Context[/COLOR].[COLOR=#006633]MODE_PRIVATE[/COLOR],[COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"CREATE TABLE IF  NOT EXISTS "[/COLOR][COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR][COLOR=#0000FF]" (ID INTEGER PRIMARY KEY, NAME TEXT, CITY TEXT);"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"INSERT INTO "[/COLOR] [COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR] [COLOR=#0000FF]" (NAME, CITY) VALUES ('ALIREZA','SHIRAZ')"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"INSERT INTO "[/COLOR] [COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR] [COLOR=#0000FF]" (NAME, CITY) VALUES ('HAMID','TEHRAN')"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]execSQL[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"INSERT INTO "[/COLOR] [COLOR=#339933]+[/COLOR] TABLE_NAME [COLOR=#339933]+[/COLOR] [COLOR=#0000FF]" (NAME, CITY) VALUES ('HASAN','GHOM')"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    mydb.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][B]catch[/B][COLOR=#009900]([/COLOR][COLOR=#003399]Exception[/COLOR] e[COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    Toast.[COLOR=#006633]makeText[/COLOR][COLOR=#009900]([/COLOR]getApplicationContext[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR], [COLOR=#0000FF]"Error"[/COLOR], Toast.[COLOR=#006633]LENGTH_LONG[/COLOR][COLOR=#009900])[/COLOR].[COLOR=#006633]show[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
اکنون می خواهیم که اطلاعات ذخیره شده در پایگاه داده (SQLite Database) را فراخوانی کنیم و سپس هر مقدار را با استفاده از Toast ، به مدت چند ثانیه، نمایش بدهیم (Toast برای نمایش یک پیام به کاربر و برای چند ثانیه، به کار می رود). برای این منظور، کدهای زیر را می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#003399]String[/COLOR] DATABASE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"KELIDESTAN.db"[/COLOR][COLOR=#339933];[/COLOR]   
[COLOR=#003399]String[/COLOR] TABLE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"MY_TABLE"[/COLOR][COLOR=#339933];[/COLOR] 
[B]try[/B][COLOR=#009900]{[/COLOR]
    SQLiteDatabase mydb [COLOR=#339933]=[/COLOR] openOrCreateDatabase[COLOR=#009900]([/COLOR]DATABASE_NAME, [COLOR=#003399]Context[/COLOR].[COLOR=#006633]MODE_PRIVATE[/COLOR],[COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    [COLOR=#003399]Cursor[/COLOR] allrows  [COLOR=#339933]=[/COLOR] mydb.[COLOR=#006633]rawQuery[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"SELECT * FROM "[/COLOR][COLOR=#339933]+[/COLOR]  TABLE_NAME, [COLOR=#000066][B]null[/B][/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    [B]if[/B][COLOR=#009900]([/COLOR]allrows.[COLOR=#006633]moveToFirst[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
        [B]do[/B][COLOR=#009900]{[/COLOR]
            [COLOR=#003399]String[/COLOR] ID [COLOR=#339933]=[/COLOR] allrows.[COLOR=#006633]getString[/COLOR][COLOR=#009900]([/COLOR][COLOR=#CC66CC]0[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
            [COLOR=#003399]String[/COLOR] NAME [COLOR=#339933]=[/COLOR] allrows.[COLOR=#006633]getString[/COLOR][COLOR=#009900]([/COLOR][COLOR=#CC66CC]1[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
            [COLOR=#003399]String[/COLOR] CITY [COLOR=#339933]=[/COLOR] allrows.[COLOR=#006633]getString[/COLOR][COLOR=#009900]([/COLOR][COLOR=#CC66CC]2[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
                   
            [COLOR=#666666][I]// Show values with Toast[/I][/COLOR]
            Toast.[COLOR=#006633]makeText[/COLOR][COLOR=#009900]([/COLOR]getApplicationContext[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR], ID, Toast.[COLOR=#006633]LENGTH_LONG[/COLOR][COLOR=#009900])[/COLOR].[COLOR=#006633]show[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
            Toast.[COLOR=#006633]makeText[/COLOR][COLOR=#009900]([/COLOR]getApplicationContext[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR], NAME, Toast.[COLOR=#006633]LENGTH_LONG[/COLOR][COLOR=#009900])[/COLOR].[COLOR=#006633]show[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
            Toast.[COLOR=#006633]makeText[/COLOR][COLOR=#009900]([/COLOR]getApplicationContext[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR], CITY, Toast.[COLOR=#006633]LENGTH_LONG[/COLOR][COLOR=#009900])[/COLOR].[COLOR=#006633]show[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
        [COLOR=#009900]}[/COLOR]
        [B]while[/B][COLOR=#009900]([/COLOR]allrows.[COLOR=#006633]moveToNext[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    [COLOR=#009900]}[/COLOR]
    mydb.[COLOR=#006633]close[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][B]catch[/B][COLOR=#009900]([/COLOR][COLOR=#003399]Exception[/COLOR] e[COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    Toast.[COLOR=#006633]makeText[/COLOR][COLOR=#009900]([/COLOR]getApplicationContext[COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR], [COLOR=#0000FF]"Error"[/COLOR], Toast.[COLOR=#006633]LENGTH_LONG[/COLOR][COLOR=#009900])[/COLOR].[COLOR=#006633]show[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
بنابراین، 9 مقدار مختلف، به صورت پیام های با مدت زمان کوتاه، به کاربر نمایش داده می شود (با استفاده از Toast). این 9 پیام، به ترتیب، برابر مقادیر زیر می باشند :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#CC66CC]1[/COLOR]
ALIREZA
SHIRAZ
[COLOR=#CC66CC]2[/COLOR]
HAMID
TEHRAN
[COLOR=#CC66CC]3[/COLOR]
HASAN
GHOM[/FONT]
[/FONT][/COLOR]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
حذف کردن یک پایگاه داده (SQLite Database)، در برنامه نویسی اندروید

حذف کردن یک پایگاه داده (SQLite Database)، در برنامه نویسی اندروید

فرض کنید که یک پایگاه داده (SQLite Database) با نام KELIDESTAN.db قبلا ساخته ایم و اکنون قصد داریم که آن را حذف کنیم، برای این منظور، کدهای زیر را می نویسیم (فرض کرده ایم که کدها درون یک Activity نوشته شده اند و کلمه this ، به context آن Activity اشاره دارد) :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#003399]String[/COLOR] DATABASE_NAME [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"KELIDESTAN.db"[/COLOR][COLOR=#339933];[/COLOR]
[B]this[/B].[COLOR=#006633]deleteDatabase[/COLOR][COLOR=#009900]([/COLOR]DATABASE_NAME[COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR][/FONT]
[/FONT][/COLOR]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
نصب پلاگین SQLiteManager برای مشاهده اطلاعات موجود در یک فایل مربوط به پایگاه داده SQLite ، توسط برنامه eclipse

نصب پلاگین SQLiteManager برای مشاهده اطلاعات موجود در یک فایل مربوط به پایگاه داده SQLite ، توسط برنامه eclipse

همان طور که می دانید، فایل مربوط به پایگاه داده SQLite ، دارای پسوند db می باشد. مثلا من فایل های پایگاه داده مربوط به یک برنامه دلخواه را در گوشی خود به صورت زیر مشاهده می کنم :

83.jpg

چنانچه یک فایل db را توسط برنامه eclipse باز کنیم، کدهایی به شکل زیر را به ما نمایش می دهد :


84.png

در واقع، برنامه eclipse ، به تنهایی نمی تواند محتویات اطلاعاتی فایل مربوط به پایگاه داده SQLite را نمایش بدهد و باید برای آن، یک پلاگین (plugin) را نصب کنیم. این پلاگین، دارای نام SQLiteManager می باشد. برای این منظور، باید یک فایل jar را از آدرس زیر دانلود کنید :
مشاهده پیوست com.questoid.sqlitebrowser_1.2.0.jar.zip

سپس فایل jar مورد نظر را در محل نصب برنامه eclipse (یا برنامه ADT Bundle)، در مسیر زیر کپی کنید :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]eclipse[COLOR=#339933]/[/COLOR]dropins[COLOR=#339933]/[/COLOR][/FONT]
[/FONT][/COLOR]
اکنون اگر برنامه eclipse باز است، آن را ببندید و سپس دوباره آن را اجرا نمایید. پس از باز شدن برنامه eclipse ، ببینید آیا یک پنجره با عنوان File Explorer را در پنجره اصلی آن مشاهده می کنید یا خیر. اگر چنین پنجره ای وجود نداشت، در پنجره اصلی برنامه eclipse ، از منوی Window ، گزینه Show View و سپس گزینه Other را انتخاب کنید :

85.jpg


در پنجره ای که باز می شود، گزینه File Explorer را انتخاب کنید و سپس بر روی گزینه OK کلیک کنید :

86.jpg

پنجره File Explorer در قسمتی از پنجره اصلی برنامه eclipse نمایش داده می شود :


87.jpg



خوب اکنون باید گوشی اندروید مورد نظرمان را با کابل USB به کامپیوتر وصل کنیم تا فایل های آن در پنجره File Explorer نمایش داده شود. دقت داشته باشید که شناسایی گوشی اندروید توسط کامپیوتر، خود دارای نکات بسیاری است که قبلا همه آنها را در مبحثی دیگر در مورد اجرا یا خطایابی برنامه اندروید بر روی یک گوشی اندروید واقعی شرح دادیم و دیگر نیازی به تکرار آنها نیست، تنها لینک آن مبحث را در زیر برایتان قرار می دهم تا در صورتی که گوشی توسط کامیپوتر شناسایی نشد و نتوانستید فایل های آن را ببینید، نکات موجود در آن مبحث را بخوانید :
http://www.www.www.iran-eng.ir/show...ندروید/page5?p=8334673&viewfull=1#post8334673

وقتی من گوشی خود را با کابل USB به کامپیوتر وصل می کنم، پنجره زیر در گوشی به من نمایش داده می شود :

89.jpg

اگر بر روی گزینه OK اشاره کنم، آنگاه فایل های گوشی اندروید در پنجره File Explorer نمایش داده می شود :

88.jpg


اما نکته مهم در این مرحله این است که شما پوشه های اصلی گوشی اندروید (پوشه هایی که کاربر آنها را در گوشی خود مشاهده می کند) را نمی بینید، بلکه یک سری پوشه دیگر با نام های غیر آشنا فهرست شده است. در واقع، شما باید به دنبال پوشه اصلی گوشی اندروید که قابل مشاهده توسط کاربر است، بگردید. با توجه به گوشی اندروید شما، آن پوشه، در یکی از مسیرهای زیر خواهد بود (یا مسیرهایی مشابه آنها) :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#339933]/[/COLOR]mnt[COLOR=#339933]/[/COLOR]sdcard[COLOR=#339933]/[/COLOR][/FONT]
[/FONT][/COLOR]
یا :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#339933]/[/COLOR]storage[COLOR=#339933]/[/COLOR]sdcard0[COLOR=#339933]/[/COLOR][/FONT]
[/FONT][/COLOR]
یا :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#339933]/[/COLOR]mnt[COLOR=#339933]/[/COLOR]shell[COLOR=#339933]/[/COLOR]emulated[COLOR=#339933]/[/COLOR][COLOR=#CC66CC]0[/COLOR][COLOR=#339933]/[/COLOR][/FONT]
[/FONT][/COLOR]
مثلا در گوشی اندروید من، مسیر پوشه اصلی، به صورت زیر می باشد :

90.jpg

بد نیست بدانید که مسیر فایل های مربوط به پایگاه داده (database) مربوط به برنامه های اندروید، به صورت زیر می باشد (یعنی اگر برنامه نویس، مسیری را برای محل ساخت پایگاه داده SQLite تعیین نکرده باشد، آنگاه فایل پایگاه داده SQLite به صورت پیش فرض، در مسیر زیر ساخته می شود) :

کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]پوشه اصلی گوشی[COLOR=#339933]/[/COLOR]Android[COLOR=#339933]/[/COLOR]data[COLOR=#339933]/[/COLOR]package_name[COLOR=#339933]/[/COLOR]database_name[/FONT]
[/FONT][/COLOR]
که در آن، به جای package_name ، نام package برنامه اندروید و به جای database_name ، نام فایل پایگاه داده را باید در نظر بگیرید.

من یک فایل مربوط به پایگاه داده SQLite ساخته شده توسط یک برنامه دلخواه را انتخاب می کنم :

91.jpg


سپس بر روی آیکونی که در شکل بالا نمایش داده ایم، کلیک می کنیم تا ساختار پایگاه داده SQLite نمایش داده شود :

92.jpg

مشاهده می کنید که پایگاه داده SQLite مورد نظر، دارای دو جدول (table) می باشد، بر روی دو جدول کلیک می کنیم تا ساختار اطلاعات ذخیره شده در آنها، نمایش داده شود :


93.jpg

برای مشاهده اطلاعات ذخیره شده در جدول ها (table) باید بر روی گزینه Browse Data کلیک کنیم و سپس نام جدول مورد نظرمان را انتخاب کنیم :

94.jpg

بنابراین با این روش، می توانیم اطلاعات موجود در پایگاه های داده SQLite را مشاهده کنیم.
 
آخرین ویرایش:

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
نصب پلاگین SQLite Manager برای مرورگر اینترنت Firefox ، برای مشاهده و کار با پایگاه داده SQLite

نصب پلاگین SQLite Manager برای مرورگر اینترنت Firefox ، برای مشاهده و کار با پایگاه داده SQLite

نصب پلاگین SQLite Manager برای مرورگر اینترنت Firefox ، برای مشاهده و کار با پایگاه داده SQLite و یا ساختن یک پایگاه داده SQLite جدید


برای مرورگر اینترنت Firefox ، یک پلاگین (plugin یا Add-on) با نام SQLite Manager وجود دارد، که با نصب آن، می توانیم به مشاهده و کار با پایگاه داده SQLite و یا ساختن یک پایگاه داده SQLite جدید، بپردازیم. اگر مرورگر اینترنت Firefox را قبلا نصب نکرده اید، ابتدا باید مرورگر اینترنت Firefox را که رایگان است، دریافت کرده و نصب کنید. این مرورگر اینترنت را می توانید از سایت زیر دریافت کنید :


mozilla.org/en-US/firefox/desktop

پلاگین SQLite Manager برای این مرورگر را می توانید از لینک زیر دریافت نمایید :


addons.mozilla.org/en-US/firefox/addon/sqlite-manager

ابتدا فایل پلاگین SQLite Manager را دانلود کنید، سپس مرورگر Firefox را باز کرده و در منوهای ان به دنبال بخشی با عنوان Add-ons جستجو کنید. سپس در بخش مربوط به Add-ons ، گزینه ای با عنوان مشابه Install Add-on From File را پیدا کرده و بر روی آن کلیک کنید. سپس در پنجره ای که باز می شود، فایل مربوط به پلاگین SQLite Manager را انتخاب کرده و سپس روند لازم برای نصب آن را طی کنید. سپس مرورگر Firefox را بسته و دوباره اجرا کنید تا باز شود.
در پنجره مرورگر Firefox ، یک گزینه برای پلاگین SQLite Manager نمایش داده می شود (اگر آن را نمی بینید، در تنطیمات مرورگر، در قسمت Customize ، آن را به گزینه های نمایش داده شده، اضافه کنید) :

95.png



بر روی گزینه مربوط به پلاگین SQLite Manager کلیک می کنیم تا پنجره آن نمایش داده شود :

96.jpg

اکنون محیطی داریم که در آن می توانیم به ساخت، ویرایش و خیلی اعمال دیگر مربوط به پایگاه داده SQLite بپردازیم. مثلا من گوشی اندروید خود را با کابل USB به کامپیوتر متصل می کنم (دقت کنید که نکات زیادی در مورد شتاسایی گوشی توسط کامپیوتر وجود دارد که قبلا آنها را در مبحثی دیگر شرح دادیم که می توانید به آن مراجعه کنید) و سپس در پنجره مربوط به پلاگین SQLite Manager ، بر روی گزینه مربوط به باز کردن یک فایل پایگاه داده SQLite ، کلیک می کنم :

98.png

آنگاه در پوشه بندی گوشی اندروید، یک فایل پایگاه داده SQLite را باز می کنم. فقط دقت داشته باشید که پسوند فایل های قابل باز کردن را برابر All Files قرار بدهید زیرا پسوند پیش فرض، برابر sqlite در نظر گرفته شده، در صورتی که ما فایل با پسوند db را می خواهیم باز کنیم (اگر این مورد را تنطیم نکنید، فایل های با پسوند db در پنجره نمایش داده نمی شود و نمی توانید آنها را انتخاب کنید) :


99.png

من یک فایل پایگاه داده SQLite دلخواه را که دارای پسوند db است، باز می کنم و اطلاعات یک جدول آن، به صورت زیر نمایش داده می شود :

97.jpg

پلاگین SQLite Manager دارای امکانات زیادی است و توصیه می کنم که نگاهی به تمامی بخش های آن بیندازید.
 
Similar threads
Thread starter عنوان تالار پاسخ ها تاریخ
S پايگاه داده در برنامه نويسي موبايل برنامه نویسی موبایل 8

Similar threads

بالا