آموزش ساخت کتاب پیشرفته در بیسیک فور اندروید – جلسه پنجم
سلام
در پنجمین قسمت از آموزش ساخت کتاب پیشرفته بیسیک فور اندروید در خدمتتون هستیم، در این جلسه قصد داریم تا در رابطه با دیتابیس آفلاین صحبت کنیم، در ادامه همراه بپرسم باشید.
در این جلسه قصد داریم در مورد عناوین زیر صحبت کنیم:
- دیتابیس آفلاین
دیتابیس آفلاین
یکی از مباحثی که بسیار بسیار در ساخت برنامه ها به شما کمک میکند، مبحث دیتابیس آفلاین است که بخش پیشرفته یک زبان را تشکیل میدهد. دیتابیس آفلاین فقط در زمینه ساخت یک کتاب کاربرد ندارد، بلکه مثلا در ساخت یک دفترچه تلفن یا ساخت هر برنامه ای که درش اطلاعات ذخیره میشود، کاربرد دارد. حال این اطلاعات یا توسط کاربر ذخیره شود و یا توسط توسعه دهنده.
به طورکلی دیتابیس ها ۴ حالت بیشتر ندارند و چهار عملکرد را انجام میدهند. عملیات select , update , delete , insert
حال به صورت مختصر به شرح این عملکردها میپردازیم.
عملیات select
اگر در دیتابیس محتوایی ذخیره شده باشد، به توسط دستور select ، محتوا انتخاب شده و نمایش داده میشود. خط زیر مثالی از دستور select است:
cur=sql.ExecQuery("SELECT * FROM tbl_damage_lap")
در خط بالا، از دستور select استفاده شده است. اما عناصر دیگری هم هستند که هنوز به آن ها نپرداختیم. متغیر cur در حقیقت یک cursor است که آن را تعریف کردیم. به این شکل:
Private cur As Cursor
برای اینکه کتابخانه cuesor بیاید، باید حتما کتابخانه sql را به پروژه اضافه کرده باشید.
همچنین متغیر sql هم باید بعد از اضافه کردن کتابخانه SQL به این شکل تعریف شود:
Private sql As SQL
کتابخانه sql یک متدی با نام ExecQuery دارد که به وسیله آن میتوانید دستور select را بنویسید. عبارت tbl_damage_lap که در دستور آمده، نام جدول دیتابیسمان است.
به این نکته توجه کنید که ما هنوز خود دیتابیس را به پروژه کپی نکردیم و در پایان توضیح دستورات، این کپی را انجام میدهیم.
عملیات update
دستور آپدیت یا بروزرسانی و یا همان تغییر دیتابیس در پروژه نیامده است، اما چون داریم مبحث دیتابیس را توضیح میدهیم،همه عملیات دیتابیس را شرح میدهیم.
دستور بروزرسانی زمانی استفاده میشود که بخواهید، اطلاعاتی را در دیتابیس ویرایش گنید. یعنی اطلاعات وارد شدند، و حالا شما میخواهید آن را ویرایش کنید. خط زیر مثالی از این کار است:
sql.ExecNonQuery("UPDATE my_tbl SET title = '"my_title"' WHERE id = "۱"")
در خط بالا ما از کوئری آپدیت یا بروزرسانی استفاده کرده ایم. برای بروزرسانی دیتابیس باید از دستور ExecNonQuery استفاده شود.
در خط بالا به برنامه دستور دادیم که بروزرسانی که جدول منو و تنظیم که فیلد تایتل که id ش برابر با ۱ است.
حال میتوانیم به جای اعداد یا عبارات پیشفرض، از جعبه متنی استفاده کنیم که توسط خود کاربر پر میشود.
عملکرد بعدی، عملکرد delete است.
با استفاده از این دستور، رکوردی را که مشخص کردیم، از دیتابیس حذف میشود. به شکل زیر از این دستور استفاده میکنیم:
sql.ExecNonQuery2("DELETE FROM my_tbl WHERE title=?",Array As String(value))
برای حذف رکوردی از دیتابیس، از دستور ExecNonQuery2 استفاده میکنیم.
به این صورت که گفتیم حذف کن، از جدول خودم چیزی رو که عنوانش فلان است. حال این فلان را یا کاربر مشخص میکنه و یا خود برنامه نویس.
دستور insert
با استفاده از این دستور، میتوانید دیتایی را به دیتابیستان وارد کنید و در آنجا ذخیره اش کنید. از این دتستور به این شکل استفاده میشود:
sql.ExecNonQuery2("INSERT INTO my_tbl (title) VALUES (?)",Array As String(value)
و باز هم برای استفاده از دستور insert ، باید از تابع ExecNonQuery2 استفاده کنید. ما در اینجا گفتیم وارد کن به جدول خودم، به فیلد عنوان، مقدار مشخص شده را.
این چهار عمل اصلی دیتابیس بود. حالا چه آفلاین و چه آنلاین.
اما این دیتابیس داخل یک فایلی قرار دارد که ما هنوز آن را صدا نزدیم تا جداوله ذخیره شده در آن را ببینیم. حالا می آییم و دیتابیس را در برنامه کپی میکنیم:
با استفاده از خط های زیر چک میکنیم که دیتابیسی با نام مورد نظر در حافظه نباشد و اگر نبود، فایل دیتابیس در پوشه مورد نظر کپی شود.
If File.Exists(File.DirInternal,"pc.db")=False ThenFile.Copy(File.DirAssets,"pc.db",File.DirInternal,"pc.db")End If
البته ما محل کپی فایل را در حافظه موقت گوشی قرار دادیم که برای کاربر به هیچ وجه قابل دسترس نیست. به خاطر این که فایل دیتابیس ما فقط خواندنی است و کاربر روی آن تغییراتی را اعمال نمیکند و این روش امن تر است.
و با استفاده از خط های زیر، دیتابیس را راه اندازی میکنیم:
If sql.IsInitialized=False Thensql.Initialize(File.DirInternal,"pc.db",True)End If
در اینجا گفتیم که اگر دیتابیس از فلان آدرس راه اندازی نشده بود، آن را برای ما راه اندازی کن.
آموزش به پایان رسید، به تمام نکاتی که گفتیم حتما دقت داشته باشید و همه رو رعایت کنید.
چنانچه سوالی در رابطه با این آموزش داشتید از ما بپرسید 🙂
موفق باشید.
ارسال نظر
شما باید وارد شوید یا عضو شوید تا بتوانید نظر ارسال کنید