لوگوی جشنواره وب و موبایل ایران

همین حالا ثبت نام کنید

ورود

فراموشی رمز عبور

رمز خود را فراموش کرده اید ؟ ایمیل خود را وارد نمایید تا رمز عبور جدید به ایمیل شما ارسال شود .

آموزش کار با پایگاه داده در B4A – قسمت چهارم(ارتباط با بانک)

سلام

خب رسیدیم به چهارمین و مهم ترین قسمت از آموزش کار با پایگاه داده در بیسیک فور اندروید، در این قسمت دیگه میخوایم بانکی رو که درست کردیم باهاش ارتباط برقرار کنیم و مقادیرش رو بخونیم، پس در ادامه با بپرسم همراه باشید.

جلسات قبلی:

آموزش:

  • ابتدا بیسیک فور اندروید را اجرا کنید، برای پروژه نامی انتخاب و ذخیره کنید.
  • سپس فایل پایگاه داده در پوشه Files موجود در محل ذخیره پروژه قرار بدید.

فایل های پایگاه داده با پسوند db هستند.

میخوایم یک لیست ویو داشته باشیم و رکورد های پایگاه داده را در لیست ویو نمایش بدیم.

  • پس به دیزاینر رفته و یک ListView اضافه کنید و به برنامه تعریفش هم کنید و سپس لایوت را ذخیره کنید.
add-listview

ارتباط با بانک

  • برای ارتباط با پایگاه داده از کتابخونه SQL استفاده می کنیم، که این کتابخونه به صورت پیشفرض در لیست کتابخونه ها وجود داره، پس کتابخانه SQL را هم به برنامه اضافه کنید.
sql-library

ارتباط با بانک

  • پس از اضافه کردن کتابخانه SQL نیاز داریم تا یک متغیر از نوع SQL تعریف کنیم، پس متغیری با نام دلخواه از نوع SQL تعریف می کنیم.

نام متغیر را sql1 گذاشتم.

از این قسمت به بعد کدهایی که گفته میشه را باید در Activity_Create بنویسید.

  • برای اینکه کاربر بتونه از پایگاه داده استفاده کنه، نیاز داریم تا پایگاه داده را هنگام نصب به حافظه ی گوشی انتقال بدیم، برای این کار از کد زیر استفاده می کنیم:
حتما بخوانید:  آموزش word - قسمت بیست و چهارم(درج معادلات ریاضی)

به جای Learn نام فایل پایگاه داده را بنویسید.

  • تا به این جای کار، فایل پایگاه داده را به حافظه گوشی انتقال دادیم، در مرحله بعد باید با پایگاه داده ارتباط برقرار کنیم، برای این کار از کد زیر استفاده می کنیم:

  • برای نمایش مقادیر بانک نیاز داریم تا یک متغیر از نوع اشاره گر(Cursor) تعریف کنیم، پس متغیری از نوع Cursor با نام دلخواه تعریف می کنیم:

نام متغیر را Cur گذاشتم.

  • حالا باید دستور Select را اجرا کنیم، همانطور که گفتیم میخواهیم مقادیر را در یک ListView نمایش دهیم، با استفاده از کد زیر دستور دریافت را به بانک ارسال می کنیم:

اگر با دستورات SQL آشنایی ندارید، به این لینک مراجعه کنید.

TblDetails نام جدولی هست که در بانک داریم.

  • و در نهایت با استفاده از کدهای زیر فیلدهای ستون Name از جدول TblDetails را نمایش میدهیم:

توضیحات:

در خط اول Listview را خالی کردیم، در خط دوم یک حلقه قرار دادیم و مشخص کردیم به ازای هر رکورد یک آیتم به لیست ویو اضافه بشه.

پروژه را اجرا می کنیم و می بینیم که تمامی فیلد های ستون Name نمایش داده می شود.

program

ارتباط با بانک

و در آخر تمامی کدها:

حتما بخوانید:  آموزش پاورپوینت - قسمت دوم(ذخیره فایل)

در پایان سورس کد این جلسه + فایل دیتابیس را می توانید دانلود کنید.

امیدوارم با موفقیت شما هم تونسته باشید با بانک ارتباط برقرار کنید، نگران نباشید اگر موفق نشدید، در کنار شما هستیم، سوالات خود را در بخش پرسش و پاسخ سایت بپرسید.

هرگونه سوالی یا مشکلی در رابطه با مطلب فوق داشتید؛ در سایت بپرسید، پاسخگوی سوالات شما هستیم، برای پرسیدن سوال کلیک کنید.

موفق باشید.

حتما بخوانید:  نمایش لیست نویسندگان در وردپرس

درباره نویسندهمدیر

امیدوارم از سایت رضایت کافی را داشته باشید :)

نظرات ( 5 )

  1. zebelxan کاربر جدید
    ۱۷/۰۹/۱۳۹۵ در۰۸:۳۷

    سلام

    بسیار سپاسگزارم از آموزش خوبتون

    خیلی به دردم خورد اما یه جا به مشکل برخوردم لطفا راهنمایی کنید.

     

    برای قسمت تنظیمات برنامه از دیتابیس استفاده کردم درست طبق همین آموزشهای شما ولی مشکل اینجاست که تغییرات جدید در دیتابیس ذخیره نمی شود!!

    برای خواندن از دیتابیس:(در خواندن از دیتابیس مشکلی نیست)
    Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout(“lsets”)

    sql1.Initialize(File.DirInternal , “mydb.db” , True)
    cur = sql1.ExecQuery(“SELECT Value FROM tblSets WHERE ID = 1”)
    cur.Position = 0
    alogin = cur.GetString(“Value”)

    End Sub
    برای نوشتن تغییرات در دیتابیس:
    Sub saveset_Click
    If sql1.IsInitialized=False Then
    sql1.Initialize(File.DirInternal , “mydb.db” , True)
    End If

    cur = sql1.ExecQuery(“UPDATE tblSets set Value = ‘” & edt1.text & “‘ WHERE ID = 1”)

    sql1.Close
    End Sub

  2. SOLTANE GHALBHA
    ۱۷/۰۹/۱۳۹۵ در۱۲:۵۷

    سلام

    خوسحالم که آموزش براتون مفید بوده 🙂

    تغییرات جدید در دیتابیس هم نباید ثبت بشه! به دلیل کد زیر:

    در کد بالا گفته شده که اگه دیتابیسی با نام mydb در حافظه گوشی وجود داشت، دیگه دیتابیس جدید را که روش تغییرات انجام دادیم را در حافظه ی گوشی کپی نکن؛ در کد بالا باید if را حذف کنید، که کد به این شکل می شود:

    حالا هر موقع که برنامه میخواد نصب بشه، دیتابیس هم تو حافظه ی گوشی کپی میشه(چه دیتابیس باشه، چه نباشه).

    ولی وقتی که کار نوشتن برنامتون تمام شد، کد را به همراه if بزارید.

    موفق باشید.

     

  3. zebelxan کاربر جدید
    ۱۷/۰۹/۱۳۹۵ در۱۸:۴۱

    بسیار ممنون از پاسختون

    ولی این کدها مال اکتیویتی  تنظیمات هست و دیتابیس در اکتیویتی main کپی و ایجاد شده است

    در اینجا هم در activity create اینیشیالایز شده و در رویداد کلیک یک باتن اقدام به ذخیره متغیر موردنظر کردم که متاسفانه اصلا ذخیره نمی شود

     

    درضمن متغیری که میخواهم در دیتابیس قرار دهم بصورت عددی از ادیت تکست گرفته میشود

  4. zebelxan کاربر جدید
    ۱۸/۰۹/۱۳۹۵ در۱۰:۰۳

    مشکل رو با استفاده از ExecNonQuery2 برطرف کردم

     

    سپاس

پاسخ دهید