عضویت در سایت

ورود

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

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

کد امنیتی برای بروزرسانی کد امنیتی روی تصویر کلیک کنید

ورود

عضویت در سایت

رایگان ثبت نام کنید و سوالات خود را بپرسید، همچنین میتوانید در پاسخگویی به سوالات دیگر کاربران نیز سهیم باشید، هر مشکلی در ثبت نام یا ورود داشتید با ایمیل beporsam@gmail.com در ارتباط باشید

در بین 1075 آموزش و 1875 پرسش به دنبال چه هستید؟

ویندوز
نصب آنلاین ویندوز

ویندوز 7,8,10,11
مشاوره
مشاوره خرید لپ تاپ و کامپیوتر

مشاوره حرفه ای دریافت کن
بلاگ
مقالات آموزشی

1k+
پشتیبانی آنلاین

سخت افزار/نرم افزار

آموزش کار با پایگاه داده در 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

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

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

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

موفق باشید.


دانلود: سورس + فایل دیتابیس


پيش نمايش: کليک کنيد


حجم: 10 کیلوبایت


رمز فايل فشرده: www.beporsam.ir


طبق آموزش های داده شده پیش برید


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


عضويت در سايت


پرسيدن سوال


درباره احمد آخوندیمدیر سایت

طراح و برنامه نویس وب| تعمیرکار کامپیوتر و ماشین های اداری | علاقه مند یادگیری و یاددادن ... :)

دنبال کردن

دیدگاه ( 12 )

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

  2. چشمتون بی بلا

  3. سلام و خسته نباشید

    یک سوال دیگر درباره دیتابیس

    اگر وقت کردید و صلاح می دانید کوئری سرچ در دیتابیس انلاین یا سورسی در این باره بگذرارید یا راهنمایی بکنید. ممنون

  4. سلام. خسته نباشید و همچنان سپاسگزار به خاطر زحمت های شما در سامان دادن به اموزش بیسیک فور اندروید

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

    شما اینجا نوشتید که دیتابیس به گوشی منتقل می شود، ایا همه اپلیکیشن ها اینطوری است، یا اینکه شما اینطور تصمیم گرفتید ؟ اگر دیتابیس در هاست باشد امنیتش بیشتر نیست؟ یا اینکه چاره ای جز ذخیره شدن آن در گوشی نداریم

     

    • سلام، باعث خوشحالیه که آموزش ها براتون مفید بوده

      از نظر امنیتی بهتر است که از دیتابیس آنلاین استفاده بشه، تا کسی نتونه به دیتابیس شما دسترسی داشته باشه

      وقتی از دیتابیس آفلاین استفاده بشه، برنامه ای که هم که مینویسید قطعا آفلاین هست(مثلا کتاب)، و برای اینکار حتما باید دیتابیس در کنار برنامه باشه(چاره ای جز ذخیره شدن آن در دیتابیس نداریم)

      البته شاید روشی باشه و من بی اطلاع باشم

      ولی از نظر امینتی اگه بخواید حساب کنید، استفاده از دیتابیس آنلاین امنیت برنامه بالاتر میره

      موفق باشید

  5. سلام
    ممنون از آموزش خوبتون
    یه سوال دارم، تغییر یا ویرایش مقادیر دیتابیس از طریق b4a چگونه امکان پذیره؟
    مثلا فرض کنیم مقدار ردیف دوم دیتا بیس را میخواهیم با هر بار کلیک روی یک button تغییر کنه.
    آیا امکانش هست؟ رهنمائی بفرمائید.
    سپاس

  6. این دیدگاه ویرایش شده است

    سلام خسته نباشید خیلی خیلی ممنون بابت این آموزش

    فقط یک چیزی

    چطور میتونم رشته که از کاربر گرفتم از طریق txtbox و… رو برابر با

    مثلا family بدم ؟

     

    INSERT INTO TblDetails(ID , Name , Family) VALUES(“۵” , “SOLTANE” , “GHALBHA”)

    • سلام

      با استفاده از Select میتونید

      دستور کوئریش میشه این:

      family که نام فیلد دیتابیس هست و nametextbox  که باید نام تکست باکس رو قرار بدید.

  7. سلام
    چطوری میشه اطلاعات دیتابیس رو بجای لیست ویو رو لیبل نشون داد؟
    منظورم اینه یه صفحه متنی ایجاد بشه نه لیست.

    • سلام

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

      موفق باشید

       

  8. یه سوال داشتم … چجوری یه رشته از یک activity به داخل activity دیگر بریزیم ؟ برای پروژه ی من میخوام با انتخاب اسم بانک مقدار اسم بانک در لیست ویو برای نمونه “ملی” داخل lable در activity دیگه بریزه ؟؟؟!!!

    • سلام

      درون اکتویتی که میخواید اطلاعات رو نمایش بدید،؛ داخل همون اکتویتی بانک رو فراخوانی کنید و اطلاعات جدول مورد نظر رو نمایش بدید.

      سوالات خود را داخل بخش پرسش و پاسخ بپرسید.

      موفق باشید.

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

     

    سپاس

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

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

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

     

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

  11. سلام

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

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

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

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

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

    موفق باشید.

     

  12. سلام

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

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

     

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

    برای خواندن از دیتابیس:(در خواندن از دیتابیس مشکلی نیست)
    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

ارسال نظر

رفتن به بالا

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

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

بپرسم را میتوان به عنوان مرجعی برای آموزش و حل مشکلات دانست، در بپرسم سعی کرده ایم آموزش های برنامه نویسی، طراحی سایت، کار با نرم افزارها ها و… را آموزش دهیم. همچنین محیطی فراهم کرده ایم تا کاربران بتوانند در این محیط سوالات خود را بپرسند و مشکل خود را حل کنند.