اتصال به دیتابیس Access

سی شارپ و جاوا را به زبان ساده بیاموزید!

  • شاید به جرات بتوان گفت که این وب سایت کاملترین سایت آموزشی زبان برنامه نویسی سی شارپ و جاوا می باشد که تمامی مطالب و کدهای آن قبل از قرار گرفتن در سایت با وسواس فراوان تست و بازنگری شده اند.
  • در حال حاضر بیش از 700 مطلب آموزشی در سایت وجود دارد که تعداد آنها توسط تیم مدیریت در حال افزایش است.
  • با پرداخت حق اشتراک، ((تمامی مطالب)) سایت برای شما نمایش داده می شود.
  • مدت عضویتحق اشتراک
    یک ماهه20000 تومان
    یک ساله (25 درصد هزینه کلاس های حضوری)100000 تومان
  • این مبالغ در مقابل مبالغی که جهت شرکت در کلاس های حضوری پرداخت می شود واقعا ناچیز است و بابت یادگیری دو زبان برنامه نویسی قدرتمند جاوا و سی شارپ پرداخت می شود.
  • اشتراک VIP به منزله کمک مالی به تیم مدیریت، جهت نگهداری و بروز رسانی سایت می باشد.
  • در هیچ کتاب، سی دی یا آموزشگاهی این همه مطلب به شما آموزش داده نمی شود.
  • از آنجاییکه برای تهیه مطالب وقت زیادی صرف می شود و مبلغ VIP هم بسیار کم است، از اعضای VIP خواهش می کنیم که اطلاعات کاربری خود را در اختیار دیگران نگذارند تا زحمات ما هدر نرود.
  • قبل از پرداخت حق اشتراک و برای آشنایی با کیفیت آموزش ها ، مطالب رایگان سایت را مطالعه کرده و سپس مراحل زیر را از راست به چپ جهت مشاهده مطالب طی نمایید.

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

  1. قاسم پاسخ دادن

    سلام
    من یه بانک نوشتم از روی آموزشها ولی برای اتصال از کامپوننت های oleDbcommand و oleDbconnection استفاده کردم … همه چیش درسته بجز ویرایش !
    وقتی ویرایش یک رکورد رو میزنم که تو بانک سیو شده , کل رکوردها رو به این یکی تبدیل میکنه !
    (بانک با اکسز هستش)

  2. یونس ابراهیمی پاسخ دادن

    اولا oleDbcommand و oleDbconnection کلاس هستند.
    دوم اینکه برای دستور SQL مربوط به ویرایش رکورد شرط بذارین. مثلا در قسمت where بنویسید ID=1
    (ID یک فیلد یکتا در جدول مورد نظر شماست.)

  3. قاسم پاسخ دادن

    سلام آقا یونس
    کد اینه :

    oleDbcommand1.commandText = "UPDATE table1 SET Name=@N,Family=@F";
    oleDbcommand1.parameters.Addvalues ("@N",textBox1.Text);
    

    الان این شرط رو کجا باید بزارم …
    بعد حتما باید تو فایل اکسز هم ID رو قرار بدم ؟

    • اسماعیل ابراهیمی پاسخ دادن

      دستور شما باید چیزی شبیه کد زیر باشه :

      oleDbcommand1.CommandText = "UPDATE table1 SET Name=@N,Family=@F WHERE id=@ID";
      oleDbcommand1.Parameters.AddWithValue("@N", txt_username.text);
      oleDbcommand1.Parameters.AddWithValue("@F", txt_family.text);
      oleDbcommand1.Parameters.AddWithValue("@ID", 1);
      

      ضمناً باید یک ستون به اسم id در جدولت ایجاد کنی که دارای مقدار یکتا باشه

  4. قاسم پاسخ دادن

    الان اینو تست کردم … اما هر کدوم از رکوردها برای ویرایش میزنی فقط آی دی شماره ۱ رو تغییر میده .

  5. Developer0400 پاسخ دادن

    سلام ، بله دوست عزیز همینطوره ،

    اگر شما به کد آخر دوستمون نگاهی بندازین مقدار پارامتر Id رو برابر مقدار ثابت ۱ زده ، واسه همینه که فقط رکوردی که مقدار فیلد id ش برابر ۱ هست ویرایش میشه .

    واسه حل مشکل شما باید مقدار این پارامتر (Id) رو هم ست کنید . مقدار Id رو هم می تونید از Datagridview ( البته اگر داده ها رو Bind کرده باشید) بدست بیارید و به عنوان مقدار این پارامتر قرار بدید.

    updateCommand.Parameters.AddWithValue("@id", txtId.Text);

    : )

  6. ghasem110deh پاسخ دادن

    ایول … الان باید فقط آی دی رو از حالت اتومات نامبر خارج کنم و یه تکس باکس واسش بذارم ؟
    ممنونم … ممنونم !
    اگه شما نبودین من میموندم

  7. Developer0400 پاسخ دادن

    خیر نیازی به این نیست که شما فیلد Id رو از حالت AutoNumber خارج کنید . ببینید شما باید مقدار فیلد Id رکوردی که قراره Update بشه رو بدست بیارین و به عنوان مقدار پارامترش تنظیم کنید ، همین !

    ممکنه این مقدار رو از datagridview استخراج کنید ، یا از یک Textbox یا هر چیزی . چیزی که اهمیت داره بدست آوردن مقدارشه . لازم نیست که حتما در یک TextBox باشه.

    معمولا روال کار اینه که :

    ۱- تمامی رکوردهای داخل بانک اطلاعاتی رو در یک کنترل نشون می دین . مثلا Datagridview
    ۲ – یک سطر رو برای ویرایش انتخاب می کنید و اطلاعات اون سطر در Textbox های مورد نظر قرار می گیره ( از جمله فیلد Id)
    ۳ – اطلاعات جدید رو قرار می دین و با استفاده از دستورات بالا عمل ویرایش رو داخل بانک اعمال می کنید .

    ** اگه دقت کرده باشید مقدار فیلد Id رو از Datagridview بدست آوردیم .

  8. قاسم پاسخ دادن

    سلام
    خیلی ممنون از توضیحات کامل … خدا رو شکر با راهنمایی های شما مشکل برطرف شد !
    الان درج ، حذف ، ویرایش و جستجو کار میکنه (glad to meet you)
    مرحله بعد :
    ۱- واسه گزارشگیری و چاپ فاکتور از کجا شروع کنم (بهترین حالت نه آسونترین)
    ۲- الان پروژه یوزر و پس داره ولی فقط یکی … میخوام کاربر بتونه تغییرش بده (یوزر و پس دلخواه بزاره)
    ۳- تعیین سطح دسترسی چطور انجام میشه ؟
    خیلی زیاد شد … ببخشید

    • اسماعیل ابراهیمی پاسخ دادن

      ۱- برای گزارش گیری بهترین و قوی ترین مورد کریستال ریپورت هست
      ۲- برای یوزر و پسورد – اگر می خوایید فقط یک یوزر و پسورد داشته باشید بهتره که از فایل کانفیگ استفاده کنید . ولی می تونید همه تنظیمات برنامه رو به همراه یوزر و پسورد در یک جدول بانک هم ذخیره کنید
      ۳- برای تعیین سطح دسترسی هم می تونید با استفاده از ویژگی های نقش ها ، پروفایل ها و عضویت که جز Visual Studio 2008 Client Application Services هستند اقدام کنید
      لینک های مفید در این رابطه :
      لینک اول
      لینک دوم

      موفق باشید

  9. پارسا پاسخ دادن

    تشکر. خیلی عالی بود.

  10. امیر پاسخ دادن

    سلام این ارورو دارم هنگامی که خواستم یک فایل اکسسو کانکت کنم
    The ‘Microsoft.Jet.OLEDB.12.0′ provider is not registered on the local machine.
    با تشکر.

    • Developer0400 پاسخ دادن

      سلام ، از پنجره ی Solution Explorer روی Properties دوبار کلیک کنید . سپس از سربرگ Build گزینه ی Platform Target رو از Any CPU به x86 تغییر بدین . به احتمال زیاد مشکل حل میشه.

  11. ahmad پاسخ دادن

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

  12. امیر پاسخ دادن

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

  13. مجتبی پاسخ دادن

    “سلام ، از پنجره ی Solution Explorer روی Properties دوبار کلیک کنید . سپس از سربرگ Build گزینه ی Platform Target رو از Any CPU به x86 تغییر بدین . به احتمال زیاد مشکل حل میشه.”

    سلام من این راه رو امتحان کردم اما متاسفانه مشکل حل نشد.
    ممنون میشم راهنمایی کنید

    ورژن سی شارپ ۲۰۱۵ و اکسس ۲۰۱۶