اجازه دهید خیلی ساده و سریع توضیح دهم:
فرض کنید قرار است یک بانک اطلاعاتی برای ثبت کتابهای یک کتابخانه داشته باشیم.
1- یک بانک در اکسس به نام پیشفرض Database1.accdb بسازید. یک جدول در آن ایجاد کنید به نام books که سه فیلد داشته باشد.
- فیلد bid برای ثبت یک شماره خودکار که کلید اصلی باشد.
- فیلد bname که نام کتاب را ثبت کنیم.
- فیلد author که نویسنده را ثبت کنیم.
توجه: من از Access نسخه 2010 استفاده میکنم. اگر نسخه شما 2007 یا 2010 است مشکلی نیست، اما اگر از 2000 یا 2003 استفاده میکنید، پسوند فایل شما mdb خواهد بود.
2- ویژوال استودیو را باز کنید و یک پروژه WindowsForm Application با زبان C# ایجاد کنید.
3- یک فرم مثل فرم زیر بسازید:
4- روی نام فرم در پنجره Solution Explorer راست کلیک کنید و View Code را انتخاب کنید:
5- در بالای کدها مطابق تصویر زیر، کد زیر را درج کنید:
using System.Data.OleDb;
6- کد زیر را نیز در بخش تعریف فرم مطابق تصویر قبل وارد کنید:
private OleDbConnection con;
7- کد زیر نیز باید در محلی که در تصویر قبل مشخص شده است وارد شود:
con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:/Database1.accdb;Persist Security Info=False");
در این کد به نکات زیر دقت کنید:
- عبارت Database1.accdb نام دیتابیس اکسس و پسوند آن است که در درایو C قرار گرفته است. اگر مسیر شما متفاوت است، آن را اصلاح کنید.
- اگر دیتابیس شما با نسخه 2003 اکسس و به قبل ساخته شده، به جای قطعه کد بالا، از کد زیر استفاده کنید:
con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/Database1.mdb;Persist Security Info=False");
8- حالا روی دکمهای که روی فرم ساختهاید، دابل کلیک کنید و کد زیر را در Event آن درج کنید:
con.Open();
string query = "insert into books (bname, author) VALUES ('" + textBox1.Text + "', '" + textBox2.Text + "')";
OleDbCommand myCommand = new OleDbCommand();
myCommand.CommandText = query;
myCommand.Connection = con;
myCommand.ExecuteNonQuery();
con.Close();
MessageBox.Show("دادهها با موفقیت ثبت گردید!");
textBox1.Text = "";
textBox2.Text = "";
تمام شد!
هر دادهای که در فرم بنویسید و روی دکمه Add کلیک کنید، به دیتابیستان افزوده خواهد شد!
موفق باشید؛
حمید رضا نیرومند
11- خانم:
بوسیله: , در: Tuesday, 2012 July 17-کد: 4621
عالی بود
متشکرم
12- saeed kh:
بوسیله: , در: Thursday, 2012 July 19-کد: 4629
آقا واقعاٌ ممنونم
کارت درسته
13- سروش:
بوسیله: , در: Friday, 2012 August 17-کد: 4767
عالی بود
14- جواد:
بوسیله: , در: Thursday, 2012 August 23-کد: 4788
دست شما درد نکنه
خیلی خیلی عالی بود
ممنونم
15- mehran:
بوسیله: , در: Friday, 2012 August 31-کد: 4828
اقا خیلی کارت درسته امیدوارم هر روز بیشتر پیشرفت کنی.....
16- محمدرضا:
بوسیله: , در: Sunday, 2012 September 09-کد: 4869
بابت وقتی که گذاشتید ممنون
همه کارهایی که گفته بودید رو انجام دادم اما پیغام خطا میده
The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
ممنون می شم اگه راه حل رو بفرمایید.
17- ebrahim:
بوسیله: , در: Sunday, 2012 October 14-کد: 5073
سلام
عالی
اما دو درخواست میخوام بهش اضافه کنم:
1- با اونکه کدها خوانا هستند اما برای مبتدیها اگر خط به خط کدها رو توضیح بدید احساس میکنم قابل فهم تر باشه. کاربر بدونه که چی داره مینویسه و هر خط از کد چه دستوری به ماشین میده. اینجوری لازمهای کدنویسی براش مشخص میشه (البته نه در همین آموزش بلکه یک فایل راهنما کنار همین پست اتچ بشه)
2- همین آموزش رو برای وی بی دات نت 2010 هم بذارید.
ممنون
18- مهرداد:
بوسیله: , در: Saturday, 2012 November 03-کد: 5242
ممنون. خیلی ممنون
19- :
بوسیله: , در: Tuesday, 2012 December 18-کد: 5678
با سلام و تشکر فراوان
خیلی خوب بود
برعکسش چگونه است ؟ یعنی از بانک بخوانیم و در text bix ها قرار دهیم ؟
20- ایمان:
بوسیله: , در: Friday, 2013 January 11-کد: 5920
سلام .. دمت گرم خیلی مردی..
با اینکه تست نکردم .. اما با نحوهی اموزشت حال کردم..
ممنون.
21- ایمان:
بوسیله: , در: Friday, 2013 January 11-کد: 5922
برای من هم myCommand.ExecuteNonQuery(); گیر داد چیکار کنم؟؟؟؟
22- حسن زمانی:
بوسیله: , در: Saturday, 2013 January 12-کد: 5924
عالی بود .مچکر
23- عبدالله:
بوسیله: , در: Saturday, 2013 January 26-کد: 6050
من یه مشکلی دارم البته مشکل از کد شما نیست و میدونم از سیستم خودمه.ممنون میشم به مشکل من هم یه نگاهی بندازین
The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
24- محمد:
بوسیله: , در: Sunday, 2013 February 17-کد: 6242
من باورم نمی شه خانم ها هم میتونن برنامه بنویسن!!!!!!
25- سجاد:
بوسیله: , در: Saturday, 2013 April 13-کد: 6610
خدا خیرتون بده عالی بود.
26- bahar:
بوسیله: , در: Tuesday, 2013 April 23-کد: 6680
aaaaaaaliiiii bud
mamnun
27- جواد:
بوسیله: , در: Tuesday, 2013 June 25-کد: 7152
سلام مرسی از آموزشتون خیلی خوب بود ولی عکس هاش اصلا لود نشد
28- :
بوسیله: , در: Wednesday, 2013 June 26-کد: 7163
عالی
دمت گرم
29- مهدی:
بوسیله: , در: Monday, 2013 July 01-کد: 7200
واقعا ممنون خیلی خوب بود
30- حمید:
بوسیله: , در: Tuesday, 2013 July 23-کد: 7414
سلام دوست عزیز کمک بزرگی به من کردی
ممنون
31- محمود:
بوسیله: , در: Tuesday, 2013 October 15-کد: 8232
دستت درد نکنه دمت گرم
32- LOCAS:
بوسیله: , در: Tuesday, 2013 October 29-کد: 8346
برای من هم myCommand.ExecuteNonQuery(); گیر داد چیکار کنم؟؟؟؟
33- نادان!:
بوسیله: , در: Saturday, 2013 November 16-کد: 8521
خدا خیرررررت بده از صد تا کلاس آموزشی بهتر، ادامه بده بی زحمت ...
34- سارا:
بوسیله: , در: Saturday, 2013 December 07-کد: 8725
خیلی خوب بود مرسی
35- ali431:
بوسیله: , در: Monday, 2013 December 30-کد: 8988
با سلام این برنامه فقط می تواند داده های رشته ای را پشتیبانی کند ونه عددی
36- وحید حیدری:
بوسیله: , در: Wednesday, 2014 January 15-کد: 9197
استاد جان بازم گل کاشتی
فقط عکس ها لود نمیشه
37- وحید حیدری:
بوسیله: , در: Wednesday, 2014 January 15-کد: 9202
استاد گرامی در این سایت مطالب شما بدون درج منبع کپی برداری شده لطفا بررسی کنید
http://www.dehkademobile.ir/f780/%D9%86%D8%AD%D9%88%D9%87-%D8%A7%D8%AA%D8%B5%D8%A7%D9%84-%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-%D8%A7%DA%A9%D8%B3%D8%B3-%D8%A8%D9%87-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE-317/
38- کاربرات:
بوسیله: , در: Wednesday, 2014 January 15-کد: 9207
دمت گرم
39- بوالحسنی:
بوسیله: , در: Tuesday, 2014 February 18-کد: 9569
برای ویندوز های 64 بیتی نیاز هستش که به این مسیر برید:
BUILD -> Configuration Manager -> Active Solution Platform -> x86
و پلتفرم x64 را در قسمت New اضافه کنید.
40- امیر:
بوسیله: , در: Sunday, 2014 March 23-کد: 9849
سلام و خسته نباشید موقع اجرا این ارور رو میده مشکلش چیه ؟!
http://upload.tehran98.com/upme/uploads/c5fbd22c24fc2da11.png
41- sarli:
بوسیله: , در: Saturday, 2014 March 29-کد: 9901
سلام
اررور میده مهندس...
چکارکنم....
42- sarli:
بوسیله: , در: Saturday, 2014 March 29-کد: 9902
سلام
اررور میده مهندس...
چکارکنم....
43- masoud:
بوسیله: , در: Monday, 2014 April 28-کد: 10122
سپاس از اطلاعات بسیار مفیدتون
44- masoud:
بوسیله: , در: Monday, 2014 April 28-کد: 10123
سپاس از اطلاعات بسیار مفیدتون
45- alireza:
بوسیله: , در: Monday, 2014 August 18-کد: 11343
ba arze salam.
man az office 2013 estefade mikonam va daghighan tebghe gofte haye shoma amal kardam va dar ghesmate con.open(); error moshahede mikonam. vaghean moondam chikar konam. khahesh mikonam komakam konid.
46- elnaz:
بوسیله: , در: Wednesday, 2014 September 03-کد: 11526
منم از acceess 2013 استفاده می کنم تو con.open();error
داد کلافم لطفا بگید چطور حل کنم
47- elnaz:
بوسیله: , در: Wednesday, 2014 September 03-کد: 11527
منم از acceess 2013 استفاده می کنم تو con.open();error
داد کلافم لطفا بگید چطور حل کنم
48- maliheh:
بوسیله: , در: Sunday, 2015 February 22-کد: 13153
خیلی ممنونم. کاربردی بود. کارم راه افتاد
متشکرم :)
49- kosar:
بوسیله: , در: Sunday, 2015 June 07-کد: 13461
با سلام و خسته نباشید
من از این برنامه استفاده کردم .. توی برنامه باید 13 مشخصه رو ثبت بکنم اما الان 9 تا توی بانک ثبت میشه...
ممنون میشم اگه راهنمایی کنید .
50- مسعود توکلیان:
بوسیله: , در: Wednesday, 2015 August 12-کد: 13699
سلام ، خیلی ممنون
من یک اکسس با فیلد های بار نام فارسی دارم و وقتی این قسمت کوئریم رو که insert into t1 (ترم, morabi) است میزنم هنگام ثبت اطلاعات خط myCommand.ExecuteNonQuery(); ارور میده و میگه کلمه ترم قابل تشخیص نیست چکار باید بکنم که با دیتابیس با فیلد های فارسی هم کار کند؟ ممنون
من به همین صفحه جهت پاسخ شما مراجعه می کنم با تشکر
51- محمد:
بوسیله: , در: Thursday, 2015 August 27-کد: 13754
با سلام
میخوام توی اکسس یه دیتابیس بسازم که 4 نفر هرکدام با نام کاربری خودشون یک سری اطلاعات رو آپدیت کنند به طوری که زمان ثبت و تاریخ ثبت در فرم درج بشه و صرفا هرنفر بتونه اطلاعات ارسال کرده خودش رو توی لاگین شدن بعدی ببینه و بقیه نتونن مال بقیه رو ببینن .این اطلاعات هم به صورت ماهیانه وارد میشه هم به صورت روزانه . یعنی توی یک فایل اکسس 2 لایه وجود داشته باشه که قبل از لاگین شدن نفر ابتدا لایه مورد نظرش رو انتخاب کنه بعدا لاگین کنه و اطلاعات رو آپدیت کنه .
آیا امکان همچین چیزی توی اکسس هست یا نه ؟
52- ابراهیم:
بوسیله: , در: Thursday, 2015 December 03-کد: 14050
سلام
خیلی مفید و واضح بود
ممنونم
53- Ali-AM:
بوسیله: , در: Sunday, 2016 April 10-کد: 14396
سلام!
ممنون عالی بود.
ولی حالا چطور اطلاعات رو دریافت کنیم.
مثلا تو تکس باکس بریزیم
54- HN:
بوسیله: , در: Sunday, 2016 June 19-کد: 14549
عالی بود!
55- حمید:
بوسیله: , در: Saturday, 2017 January 14-کد: 14919
واقعا عالی بودrnبابا تو دیگه کی هستی
56- AR30N:
بوسیله: , در: Tuesday, 2017 February 14-کد: 14964
اونایی که اکثرا ارور دارند فایل اکسس رو تو مسیری غیر درایو ویندوز بریزند rnداخل ویژوال هم در کد برنامه حتما rnنام مسیر رو درست وارد کنید rnمثال G:/database1.accdb
57- نیما اکرمی:
بوسیله: , در: Thursday, 2017 November 16-کد: 15425
اقا وقتی برنامه را اجرا میکنم con.Open(); این غلط میگیره میشه راهنمایی کنید
58- Keyvan:
بوسیله: , در: Wednesday, 2019 January 30-کد: 15914
باسلام. چطور میتونم اطلاعاتی ازجمله وزن و زمان و تاریخ را از ترازوی (مدل پندpx3000) که با پورت rs232 به کامپیوتر وصل میشه رو در تکست باکس سی شارپ نمایش داد و به طور خودکار در دیتابیس ذخیره بشه؟ ؟؟ یعنی به محض قرار گرفتن پودر رو ی ترازو اطلاعات آن را در تکست باکس نشون بده و به طور خودکارهم در دیتابیس ذخیره بشه در آخر بازدن دکمه گزارش اطلاعات ثبت شده در دیتابیس را در گریدویو نمایش بده؟ ؟؟؟؟؟؟؟؟؟
59- امیر:
بوسیله: , در: Wednesday, 2020 July 08-کد: 16369
بنده کدها رو تماما مثل خودتون نوشتم و کپی کردم ولی موقع سیو ارور میده لطفا یکی کمکم کنه!
60- دانیال:
بوسیله: , در: Tuesday, 2021 August 24-کد: 16600
برای من هم myCommand.ExecuteNonQuery(); گیر داد درست هم نشد .............