تمرین اتصال به دیتابیس access

دسته بندی : /


تعداد فروش

0 دانشجو

امتیاز

5.00 از 5

پرسش و پاسخ ها

1 کاربر

تاریخ انتشار

06 بهمن 1401

محتوا شامل

سورس کد, مستندات

سطح تمرین

متوسط

در این پست قصد داریم تمرین اتصال به دیتابیس access را بررسی و پیاده سازی کنیم.

سوال:برنامه ای بنویسید که اطلاعات دانشجویان مانند نام و نام خانوادگی،شماره تماس،و… را در دیتابیس access ذخیره، حذف،ویرایش،نمایش دهد؟

اتصال به دیتابیس access در سی شارپ

تمرین اتصال به دیتابیس اکسس در سی شارپ

برای حل تمرین اتصال به دیتابیس access ابتدا باید namespace آن را در سورس کد اضافه کنیم.

به همین منظور ابتدا در بالای صفحه در بخش using ها دستور زیر را اضافه میکنیم.

using System.Data.OleDb;

حالا نوبت به ایجاد کانکشن برای ارتباط با دیتابیس access میباشد.

با استفاده از OleDbConnection کانکشنی برای ارتباط با دیتابیس ایجاد میکنیم.

نیاز به connection string داریم که بتوانیم مشخص کنیم که بر روی کدام دیتابیس میخواهیم کار کنیم.

انجام پروژه های برنامه نویسی

آموزش برنامه نویسی

از همین کنار صفحه اقدام کنید.

string connectionstring = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\dbProject.mdb";
        OleDbConnection _con;

همانطور که در سورس کد مشاهده میکنید ما به دیتابیسی بنام dbProject.mdb اتصال برقرار میکنیم.

پسوند access از ورژن 2003 میباشد که راحت تر بتوانیم اتصال و پیکربندی را انجام دهیم.

اضافه کردن رکورد در دیتابیس اکسس

در ادامه نیاز به ایجاد یک کوئری برای اضافه کردن داده در جدول داریم.

پس از OleDbCommand  برای وارد کردن کوئری داخل جداول دیتابیس استفاده میکنیم.

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

cmd.CommandText = "insert into tblPerson(flname,tell,address,email)values(@flname,@tell,@address,@email)";
                cmd.Parameters.AddWithValue("@flname", txtFlname.Text);
                cmd.Parameters.AddWithValue("@tell", mtxtTell.Text);
                cmd.Parameters.AddWithValue("@address", txtAddress.Text);
                cmd.Parameters.AddWithValue("@email", txtEmail.Text);
                cmd.Connection = _con;
                if (_con.State != ConnectionState.Open)
                {
                    _con.Open();
                }
                cmd.ExecuteNonQuery();
                if (_con.State != ConnectionState.Closed)
                {
                    _con.Close();
                }

در این بخش مشخص کردیم که با کوئری INSERT INTO اطلاعات وارد دیتابیس شود و همچنین با استفاده از parameters اطلاعات را به صورت پارامتری وارد میکنیم.

و با کمک AddWithValue یکی یکی پارامتر هایی که مشخص کردیم را با مقادیر تکست باکس تنظیم میکنیم.

سپس با کمک connectionState مشخص میکنیم وضعیت فعلی کانکشن چیه اگر open نبود open میکنیم.

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

پیشنهاد ما

اتصال به دیتابیس postgresql در سی شارپ

حذف رکورد از دیتابیس access

جهت حل تمرین اتصال به دیتابیس access بخش حذف رکورد ابتدا باید از command که بالا تر تعریف کردیم استفاده کنیم و کوئری را مشخص کنیم.

پس کد مربوط به حذف رکورد از دیتابیس را به صورت زیر مینویسیم:

DialogResult re = MessageBox.Show("آیا مایل به حذف سطر انتخاب شده می باشید ؟","حذف اطلاعات",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
            if (re==DialogResult.Yes)
            {
                cmd.CommandText = "delete *from tblPerson where ID=" + _id + "";
                cmd.Connection = _con;
                if (_con.State != ConnectionState.Open)
                {
                    _con.Open();
                }
                cmd.ExecuteNonQuery();
                if (_con.State != ConnectionState.Closed)
                {
                    _con.Close();
                }
                MessageBox.Show("سطر مورد نظر حذف گردید");
                txtAddress.Text = txtEmail.Text = txtFlname.Text = mtxtTell.Text = "";
                DataTable dt = new DataTable();
                dt = showData();
                if (dt != null)
                {
                    dataGridView.DataSource = dt;
                }
            }

قبل از حذف ابتدا به کاربر پیغام میدهیم که آیا مایل به حذف سطر انتخاب شده میباشید؟

که اگر yes را انتخاب کند حذف صورت میگیرد در غیر این صورت خیر.

با کمک کوئری Delete بر اساس آیدی شخص رکورد را از دیتابیس حذف میکنیم.

ویرایش رکورد از دیتابیس

اگر تا اینجا را خوب یاد گرفته باشید متوجه شدید که ما برای هر کوئری نیاز به کلاس OleDbCommand داریم.

و جهت درج،حذف،ویرایش باید از این کلاس یک شی ایجاد کنیم.

برای ویرایش هم دقیقا به همین صورت میباشد و باید کوئری مربوط به ویرایش را مقداردهی و اجرا کنیم.

if (txtFlname.Text.Trim() == "" || txtAddress.Text.Trim() == "")
                {
                    MessageBox.Show("لطفا  نام و نام خانوادگی به همراه آدرس پر شود", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                cmd.CommandText = "update tblPerson set flname=@flname,tell=@tell,address=@address,email=@email where ID =@ID";
                cmd.Parameters.AddWithValue("@flname", txtFlname.Text);
                cmd.Parameters.AddWithValue("@tell", mtxtTell.Text);
                cmd.Parameters.AddWithValue("@address", txtAddress.Text);
                cmd.Parameters.AddWithValue("@email", txtEmail.Text);
                cmd.Parameters.AddWithValue("@ID",_id);
                cmd.Connection = _con;
                if (_con.State != ConnectionState.Open)
                {
                    _con.Open();
                }
                cmd.ExecuteNonQuery();
                if (_con.State != ConnectionState.Closed)
                {
                    _con.Close();
                }
                MessageBox.Show("اطلاعات با موفقیت ویرایش شد");
                txtAddress.Text = txtEmail.Text = txtFlname.Text = mtxtTell.Text = "";
                DataTable dt = new DataTable();
                dt = showData();
                if (dt != null)
                {
                    dataGridView.DataSource = dt;
                }

نمایش همه رکورد ها

پیشنهاد میکنیم
تمرین اتصال به دیتابیس اوراکل در سی شارپ

برای نمایش همه رکورد های دیتابیس از کوئری SELECT استفاده میکنیم.

اما با این تفاوت که باید از دو کلاس زیر نیز استفاده کنیم.

OleDbDataAdapter ad = new OleDbDataAdapter();
        DataTable tbl = new DataTable();

با کمک کلاس DataTable داده جدولی برای ذخیره سازی اطلاعات به صورت جدولی ایجاد میکنیم.

با کمک کلاس OleDbDataAdapter ارتباطی بین کوئری و داده جدولی ایجاد و اطلاعات را داخل داده جدولی وارد میکنیم.

در ادامه تابع showData برای نمایش اطلاعات اشخاص استفاده میشود.

private DataTable showData()
        {
            try
            {
                tbl.Clear();
                cmd.CommandText = "select *from tblPerson";
                cmd.Connection = _con;
                ad.SelectCommand = cmd;
                ad.Fill(tbl);
                if (tbl.Rows.Count > 0)
                {
                    return tbl;
                }
                return null;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return null;
            }
        }

همانطور که مشاهده میکنید با استفاده از select command کوئری تنظیم میشود.

همچنین با استفاده از Fill اطلاعات در داخل Data Table  قرار میگیرد.

نکته: پس از ثبت نام و یا ورود به حساب کاربری میتوانید سورس کد کامل پروژه را دانلود نمایید.

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

1 دیدگاه برای تمرین اتصال به دیتابیس access

  1. محمد

    سلام استاد عزیز اگه بانک mdb دارای پسورد باشه و بخواهیم password را به کانکشن استرینگ اضافه کنیم . چرا خطا میده

    • وفایی مقدم

      سلام وقت بخیر
      با وارد شدن به وب سایت
      https://www.connectionstrings.com/access/
      میتونید همه حالت های کانکشن استرینگ دیتابیس access رو مشاهده بفرمایید.
      از بخش تمرین سی شارپ هم میتوانید مجموعه تمرین های رایگان و با جواب زبان سی شارپ را مشاهده نمایید.
      ارادتمند

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تمرینات مشابه

پروژه فرم ثبت نام در پایتون

پروژه فرم ثبت نام در پایتون

  • استادیار: وفایی مقدم
  • قیمت: 50,000 تومان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط
پروژه مدیریت کتابها در سی شارپ

پروژه مدیریت کتابها در سی شارپ

  • استادیار: وفایی مقدم
  • قیمت: 50,000 تومان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط
پروژه sql دیجی کالا

پروژه sql دیجی کالا

  • استادیار: وفایی مقدم
  • قیمت: 50,000 تومان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط
پروژه نمایش دمای هوا از طریق گوگل

پروژه نمایش دمای هوا از طریق گوگل

  • استادیار: وفایی مقدم
  • قیمت: 50,000 تومان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط
پروژه ساختمان داده بانک یاب

پروژه ساختمان داده بانک یاب

  • استادیار: وفایی مقدم
  • قیمت: 60,000 تومان
  • نوع آموزش: ویدیویی
  • سطح تمرین : سخت
تمرین چند ضلعی در سی شارپ

تمرین چند ضلعی در سی شارپ

  • استادیار: وفایی مقدم
  • قیمت: رایگان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط
تمرین singleton در سی شارپ

تمرین singleton در سی شارپ

  • استادیار: وفایی مقدم
  • قیمت: رایگان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط
محاسبه شیب پاره خط در سی شارپ

محاسبه شیب پاره خط در سی شارپ

  • استادیار: وفایی مقدم
  • قیمت: 35,000 تومان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط