PDA

View Full Version : طراحی یک دفترچه تلفن نسبتا پیش رفته با #C



ALIHNR
سه شنبه 22 تیر 1395, 16:31 عصر
طراحی یک دفترچه تلفن با استفاده ازC#
با سلام من علی هنریار دانشجوی مهندسی کامپیوتر هستم و دارای مدرک سطح 1برنامه نویسی C#
من به خاطر این که بتونم مدرک سطح یک برنامه نویسی C#و بگیرم باید یک پروژۀ ی دفترچه تلفن با استفاده از دو پایگاه داده SQLیاACCESS طراحی میکردم خوش بختانه با کمک هایی که تونستم از نوشته های دوستان برنامه نویسم توی این سایت بگیرم این پروژۀ را تحویل دادم من بخواطر این که بخوام این برنامه را طراحی کنم خیلی توی اینترنت جستجو کردم اما به سختی تونستم اون چیزی که مد نظرم هست و پیدا کنم دوست ندارم نفر بعدی که میخواد یه پروژه ی برنامه نویسی مربوط به دفترچه تلفن و طراحی کنه مشکلاتی که من داشتم و تجربه کنه خب دیگه زیاد حرف زدم بریم سراغ پروژۀ
اول از همه چیز از نرم افزار visual studio2013یک پروژۀ را باز میکنیم file:///C:/Users/Honaryar/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg
بعد یک فرم از برنامه C#باز میکنیم

file:///C:/Users/Honaryar/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg





















سپس سه عدد objectاز نوع group boxاز منوی tool boxروی فرم قرار میدیم
file:///C:/Users/Honaryar/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg









بعد از انجام این کار با بزرگ تر کردن فرم برای هرکدام از group boxها به صورت زیر نامی انتخاب میکنیم
Group box1: مشخصات
Group Box2: حذف
Group Box3: ویرایش
file:///C:/Users/Honaryar/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg












در ادامه به مهم ترین بخش کار یعنی طراحی پایگاه داده میرسیم برای این کار باید یک فرم accessرا در فولدر مربوط به پروژۀ باز کرده و جدولی را برای ساخت پایگاه داده درست میکنیم قبل از هر چیز پروژۀ ی خود را saveنموده و مراحل زیر با ورود به فولدر مربوط به پروژۀ انجام دهید
file:///C:/Users/Honaryar/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpgbin>debug>new access
نام پایگاه داده ی خود را contactsDBمیگزاریم.
با ورود به پایگاه داده ی خود طبق مراحل زیر یک جدول میسازیم.
Create> table design
file:///C:/Users/Honaryar/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg

در ادامه به این صورت در ستون های جدول ستون های مربوط به دفترچه تلفن را مینویسید
Field name data type
AutoNumber id
Short text full name
Short text email
Short text tell
file:///C:/Users/Honaryar/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg

اکنون نام پایگاه داده را saveمیکنیم و اسم اونا contactsمیگزاریم

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

در ابتدا objectمهمی بنام dataGridViewرا روی فرم قرار میدهیم
file:///C:/Users/Honaryar/AppData/Local/Temp/msohtmlclip1/01/clip_image016.jpg

سپس در هر سه عدد از از group box ها objectهای زیر را قرار میدهیم
Group box1:سه عدد lableسه عدد textboxسه عدد button
Group box2:یک عدد buttonیک عدد textbox
Group box3:دو عدد buttonسه عددtextboxسه عددlable
در ادامه باید یک بخش جستجو برای دفترچه تلفن تعین کنیم در نتیجه یک lableو یک textboxبرای انجام این کار روی فرم قرار میدهیم
الان باید برای object های مورد نظر را تغیر textدهیم
مشخصات: سه عدد lable اولی (نام )دومی (ایمیل) سومی (تلفن) سه عدد button اولی (ثبت)دومی(انصراف)سومی(clear)
حذف:نامbuttonرا خذف میگذاریم
ویرایش:سه عددlableاولی(نام)دومی(ایمیل)س می(تلفن)دو عدد buttonاولی (ویرایش)دومی (clear)
برای بخش جستجو تنها تکست lableرا به جستجو تغیر میدهیم(شما میتوانید برای بخش جستجو هم یک group box بسازید)
file:///C:/Users/Honaryar/AppData/Local/Temp/msohtmlclip1/01/clip_image018.jpg


حال به مهم ترین و جذاب ترین بخش پروژه یعنی کد نویسی میرسیم
دکمه ثبت در group boxمشخصات:
OleDbConnection con = new OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=ContactsDB.accdb");
OleDbCommand com = new OleDbCommand("Insert Into Contacts (fullName,tell,email) Values (@fullname,@tell,@email)",con);
com.Parameters.AddWithValue("@fullname", txtName.Text);
com.Parameters.AddWithValue("@tell",txtTell.Text);
com.Parameters.AddWithValue("@email",txtEmail.Text);
con.Open();
com.ExecuteNonQuery();
con.Close();

//

OleDbDataAdapter da = new OleDbDataAdapter("select*from Contacts", con);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;


دکمه انصراف در group boxمشخصات
Close();
دکمه ی clearدر group boxمشخصات
textBox1.Text = " ";
textBox2.Text = " ";
textBox3.Text = " ";
دکمه ویرایش در group boxویرایش
string ID = dataGridView1[0, dataGridView1.CurrentRow.Index].Value.ToString();
OleDbConnection con = new OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=contactsdb.accdb");
OleDbCommand cmd = new OleDbCommand("Update Contacts Set FullName=@FullName,Tell=@Tell,Email=@Email Where ID=@ID",con);
cmd.Parameters.AddWithValue("@fullname", textBox1.Text);
cmd.Parameters.AddWithValue("@tell", textBox2.Text);
cmd.Parameters.AddWithValue("@email", textBox3.Text);
cmd.Parameters.AddWithValue("@ID", ID);
con.Open();
cmd.ExecuteNonQuery();
con.Close();


//


OleDbDataAdapter da = new OleDbDataAdapter("select*from Contacts", con);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
دکمه clearدر group boxویرایش:
textBox4.Text = " ";
textBox5.Text = " ";
textBox6.Text = " ";
دکمه حذف در group boxحذف:
string id = dataGridView1[0, dataGridView1.CurrentRow.Index].Value.ToString();
OleDbConnection con = new OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=ContactsDB.accdb");
OleDbCommand com = new OleDbCommand("Delete From Contacts Where ID=@a" + id, con);
if (textBox4.Text != "")
com.Parameters.AddWithValue("@a", textBox4.Text);
else
com.Parameters.AddWithValue("@a",id);
con.Open();
com.ExecuteNonQuery();
con.Close();


//


OleDbDataAdapter da = new OleDbDataAdapter("select*from Contacts", con);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;






Textboxمربوط به جستجو(نام این objectرا به txtSearchتغیر دهید)
OleDbConnection con = new OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=ContactsDB.accdb");

OleDbDataAdapter da = new OleDbDataAdapter("Select * From Contacts Where fullname Like '%" + txtSearch.Text + "%'", con);

DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
و در نهاینت در سورس کدgridview
OleDbConnection con = new OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=ContactsDB.accdb");
OleDbDataAdapter da=new OleDbDataAdapter("Select * From Contacts",con);
DataSet ds=new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0].DefaultView;

//

textBox1.Text = dataGridView1[1, dataGridView1.CurrentRow.Index].Value.ToString();
textBox2.Text = dataGridView1[2, dataGridView1.CurrentRow.Index].Value.ToString();
textBox3.Text = dataGridView1[3, dataGridView1.CurrentRow.Index].Value.ToString();


موفق باشید