الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التعامل مع الداتا قريد فيو بالسي شارب لمشروعي التخرج

رائج
بدأه om meme في 1 يونيو 2010 · 91 رد · 26,947 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاتة .

إلى الأخوة الأعزاء والمحترفين في البرمجة بواسطة السي شارب.نت .. انا بحكي لكم القصه من البداية .. انا عملت مشروع تخرجي وهو عبارة عن نظام مكتبة للجامعة .. فكانت قاعدة البيانات بواسطة الأكسيس .. والواجهة والتحكم في قاعدة البيانات تتم من خلال فيجوال سي شارب 2008 طيب ..!!

عملت اتصال بين قاعدة البيانات والسي شارب وكل شيء تمام ... وعملت الفورمز وصممتها وكل شيء تمام .. طيب استخدمت داتا قريد فيو عشان ( اضيف واحذف واعدل واحفظ البيانات وتظهر النتيجة دايركت على قاعدة البيانات .. !!)

بس المشكلة الأولى وهي الأهم انا ادرس لحالي دراسة عن بعد .. يعني ما عندي احد يشرح لي انا اقرء الكتب وافهم حالي وهذا شيء طيب ولكن في المشروع توهقت كثير لان في شغلات ما اعرف لها ابد .. ولكن قريت وقريت وتعلمت شوي شوي ..وسويت لكن للأسف احس الشغل كله غلط .. فياريت .. احد بس يرشدني للطريق الصحيح ..

لأني حقاً تعبت .. وما خليت موقع ولا منتدى ما اشتركت فيه لكن كلهم طلعوا ما بيعرفوا او ما بيتعاونوا .. انا ما بدي تعملوا المشروع لأن اساسا هو مكمل ما عدا الشغلات الي ذكرتها ..

وهذا اخر موقع اعرض فيه مشكلتي ويا رب ألقى المساعدة عندكم .. وإذا لا . خلص أمري إلى الله .

والمساعدة ابيها ضروري لضيق الوقت ..

فأي احد يبي يساعدني يتفضل وانا ما بقصر بعرض محاولاتي بالخاص للي بيساعدني ..

واشكركم مقدما ً

ولا حول ولا قوة إلا بالله العلي العظيم

تم تعديل هذه المشاركة بواسطة om meme في 1 يونيو 2010 في 17:22

#2

الاخت الكريمة om meme اتمنى ان تجدي في هذا الموقع وخاصة في منتدى السي شارب مايفيدك ان شاء الله اتمنى ان تحددي النقاط التي تريدين ان نساعدك فيها والمشاكل التي تواجهك ولكن اريد ان اعطيك بعض النصائح قد تساعدك ان شاء الله في مشروع التخرج او اي مشروع تواجهيه مستقبلا

اولا لاتبدأي ابدا ابدا بكتابة الكود مباشرة

ثانيا حددي نطاق المشروع (Scope) وقومي بكتابة كل شيء في اوراق وتاكدي ان نطاق المشروع لن يخرج عن ماهو موجود في الاوراق

ثالثا ابدأي بتطبيق ماقمتي بتحديده في نطاق المشروع عمليا اي حان الان وقت كتابة الاكواد وابدأي بالسهل وبعد ذلك قومي بتجربة الاكواد التي كتبتها وتاكدي من ان كل شيء سليم وشغال تماما

رابعا الصبر ثم الصبر فمجال البرمجة ليس سهلا ولكن يجب علينا ان نصبر حتى نتعلم

بالتوفيق ان شاء الله

تم تعديل هذه المشاركة بواسطة Xhack في 1 يونيو 2010 في 17:29

#3

أولاً أهلاً و سهلاً بك في منتديات الفريق العربي للبرمجة ...

ستلقي من جميع الأعضاء هنا مساعدة بإذن الله تعالى طالما

1- كتبت في مواضيع هنا في القسم (ولم يتم إستخدام الرسائل الخاصة لأن هذا المنتدى لإفادة الجميع)

2-ذكرت محاولاتك لتصحيح المشكلة التي تواهينها...

3-ضرورة إحتيار عناويين مناسبة لمواضيعك و قراءة قواعد طرح الأسئله والمشاركات قبل وضعها ..

بالتوفيق

#4

نريد من الاخت ان توضح وتفصلي الموضوع

يعني

1-ان تكتب ما تريده من المشروع من أهداف وتضعي أمام الاهداف التي تمت علامة صح

2- توضيح database Digram

3- ان تعرضعي كل ماتوصلتي اليه حتى نقزم بالبناء عليه

ونحن مستعدون بالخدمة

وبالتوفيق

تم تعديل هذه المشاركة بواسطة EMNALI في 1 يونيو 2010 في 17:25

وَعَبْدٌ قَدْ يَنامُ عَلَى حَرِيرٍ ××× وَذُو نَسَبٍ مَفَارِشُهُ التُّرَابُ

#5
Xhack كتب:

الاخت الكريمة om meme اتمنى ان تجدي في هذا الموقع وخاصة في مندى السي شارب مايفيدك ان شاء الله اتمنى ان تحددي النقاط التي تريدين ان نساعدك فيها والمشكال التي تواجهك ولكن اريد ان اعطيك بعض النصائح قد تساعدك ان شاء الله في مشروع التخرج او اي مشروع تواجهيه مستقبلا

اولا لاتبدأي ابدا ابدا بكتابة الكود مباشرة

ثانيا حددي نطاق المشروع (Scope) وقومي بكتابة كل شيء في اوراق وتاكدي ان نطاق المشروع لن يخرج عن ماهو موجود في الاوراق

ثالثا ابدأي بتطبيق ماقمتي بتحديده في نطاق المشروع عمليا اي حان الان وقت كتابة الاكواد وابدأي بالسهل وبعد ذلك قومي بتجربة الاكواد التي كتبتها وتاكدي من ان كل شيء سليم وشغال تماما

رابعا الصبر ثم الصبر فمجال البرمجة ليس سهلا ولكن يجب علينا ان نصبر حتى نتعلم

بالتوفيق ان شاء الله

اخي انا عملت كل الحاجات الي ذكرتها والحمد لله الأمور تمام وزي الفل .. المشكلة هي في معرفة التعامل مع الداتا قريد فيو في السي شارب ..

وشكرا لك ولنصيحتك الثمينة حقاً

م. حسام فيصل كتب:

أولاً أهلاً و سهلاً بك في منتديات الفريق العربي للبرمجة ...

ستلقي من جميع الأعضاء هنا مساعدة بإذن الله تعالى طالما

1- كتبت في مواضيع هنا في القسم (ولم يتم إستخدام الرسائل الخاصة لأن هذا المنتدى لإفادة الجميع)

2-ذكرت محاولاتك لتصحيح المشكلة التي تواهينها...

3-ضرورة إحتيار عناويين مناسبة لمواضيعك و قراءة قواعد طرح الأسئله والمشاركات قبل وضعها ..

بالتوفيق

اهلا اخي الكريم

إن شاء الله أتمنى ذلك ..

بس لم افهم الاشياء الي بلأحمر كتبتها .. انا لحد الأن لم احصل على مساعدة ..!! بلأحرى ما فهمت شو ردك أخي الكريم هو تحذير ام نصيحة !

أعذر قلة إستياعبي .. !

وشكرا على العموم

#6
EMNALI كتب:

نريد من الاخت ان توضح وتفصلي الموضوع

يعني

1-ان تكتب ما تريده من المشروع من أهداف وتضعي أمام الاهداف التي تمت علامة صح

2- توضيح database Digram

3- ان تعرضعي كل ماتوصلتي اليه حتى نقزم بالبناء عليه

ونحن مستعدون بالخدمة

وبالتوفيق

انا مشروعي عبارة عن نظام مكتبة يستخدمه فئتين هما الطلاب والهيئة التعليمية .. واللذي يدير النظام هو المدير ..فعملت قاعدة بيانات بلأكسيس 2007 فيها جدول للمعلمين وخصائصهم وجدول للطلاب وفيه خصائصهم وجدول للكتب وخصائصه وجدول للإعارة وخصائصها وجدول لضريبة التأخير وخصائصها .. وعملت لهم ريلشن شب

وعملت واجهة النظام بالفيجوال سي شارب 2008

وعملت واجهة للمدير .. وهو الي يتحكم بإدخال البيانات والتعديل والإضافة والحذف .

وبعد كذا عملت اتصال مع قاعدة البيانات الي بلأكسيس ..

وظهرت لي في التولز بوكس داتا ست .. انا ادخلت داتا قريد فيو .. لأني قرات بأنها اسهل في التعامل .. وعملت حاجات .. بس ما اعرف شلون ادخل البيانات بواسطتها .. او اني اضيف او اعدل او احذف مع اني اشوف الإيقونة تبع الإضافة والحذف ..!!

سويت شغلات كثير بس ما اعرف شو الحل الصحيح .. كمان بدكم توضيح وله فهمتوا مشكلتي ..؟

وشكرا لكم من كل قلبي ..

أحس في تجاوب إن شاء الله ..

بفضل الله وبفضل خبراتكم سأتوصل لحل ..

شكرا

#7

اتمنى تتفاعلوا معي .. مو فقط هيك تحمسوني .. واحس اني بحصل مساعدة وبعدين انصدم ..!!

up

وإذا في شغلات بالمشروع تبوني اوضحها انا حاضرة بس ارجوكم ... لا تقصروا معي ...

انا ارفقت صور لبعض شغلي ..

اذا مو مفهوم سؤالي تفاعلوا معي وبفهمكم .. بس لا تخلوني هيك .. يرحم والديكم

#8

إرفقي ملف المشروع عشان الاخوان ياخذون نظرة عليه ونساعدك عن طريقه بدال ما نسألك عن كل صغيرة وكبيرة ..

ومتى آخر موعد لك لتسليم المشروع ..؟

تم تعديل هذه المشاركة بواسطة azooz-tamimi في 1 يونيو 2010 في 19:04

118650.jpg
#9
اقتباس

اهلا اخي الكريم

إن شاء الله أتمنى ذلك ..

بس لم افهم الاشياء الي بلأحمر كتبتها .. انا لحد الأن لم احصل على مساعدة ..!! بلأحرى ما فهمت شو ردك أخي الكريم هو تحذير ام نصيحة !

أعذر قلة إستياعبي .. !

هو تحذير ونصيحة في نفس الوقت !!!!

يعني: حصولك على المساعدة يتم بعد الإلتزام بالقواعد التي قمت بذكرها ، فالإلتزام بهذه سيساعد الجميع في فهم مشكلتك ..

ثانياً : الأعضاء ليسو متواجدين على مدار الساعة ، عندما يتوفر الوقت فتآكدي أنه لن يبخل عليك أحد بالمساعدة ...

بالنسبة لمشكتلك من ناحية إدخال البيانات بوساطة DataSet و غيرها فهذا الموضوع يفيدك بالتأكيد :

رابطي

وهذه مجموع من الأمثلة لبرامج :

رابطي

بالتوفيق

تم تعديل هذه المشاركة بواسطة م. حسام فيصل في 1 يونيو 2010 في 19:39

#10
م. حسام فيصل كتب:

هو تحذير ونصيحة في نفس الوقت !!!!

يعني: حصولك على المساعدة يتم بعد الإلتزام بالقواعد التي قمت بذكرها ، فالإلتزام بهذه سيساعد الجميع في فهم مشكلتك ..

ثانياً : الأعضاء ليسو متواجدين على مدار الساعة ، عندما يتوفر الوقت فتآكدي أنه لن يبخل عليك أحد بالمساعدة ...

بالنسبة لمشكتلك من ناحية إدخال البيانات بوساطة DataSet و غيرها فهذا الموضوع يفيدك بالتأكيد :

رابطي

وهذه مجموع من الأمثلة لبرامج :

رابطي

بالتوفيق

السلام عليكم ورحمة الله وبركاتة ..

ولكن هل بدر مني ما ألزمك على التحذير ..؟

هل لأني قلت لمن يريد ان يساعدني سأرسل له محاولاتي على الخاص ...؟

أنا قلت ذلك لخوفي من ان يسرق جهدي .. ليس إلا .. وعذرا ان فهمت غير ذلك ...!

انا اعلم بإن الأعضاء ولا المشرفين يتواجدون 24 ساعة ولكني جأت طالبة ً العون منكم .. ولقد لاحظت الإستعداد للتجاوب معي .. فأحببت المساعدة وخصوصاً بأن وقتي ضيق لتسليم المشروع .. فبقي لي اسبوعان وانا لم استطع فك لغز الداتا قريد ..!

واما بخصوص الرابط الاول دخلته وهو يتكلم عن الداتا ست والتعامل معها وليس الداتا قريد ...!!!

والرابط الثاني فيها مشاريع ايوة استانست يوم انا انزلهم لكن ولا واحد راضي يستوي له ديبك او انع يضعر لي بس الكود .. ماكو ما طلع لي شيء !!!

مشكور اخي ما قصرت ومسامحة عذبتك معي ..

#11
azooz-tamimi كتب:

إرفقي ملف المشروع عشان الاخوان ياخذون نظرة عليه ونساعدك عن طريقه بدال ما نسألك عن كل صغيرة وكبيرة ..

ومتى آخر موعد لك لتسليم المشروع ..؟

السلام عليكم ورحمة الله وبركاته ..

لك ِ لا افهم بطريقة خاطئة .. لقد ارفقت الملف في هذا الرد ..

آخر موعد للتسليم هي قبل اسبوعين ..!!

ولك ولكل من يحاول مساعدتي الشكر الجزيل ... وفي ميزان حسناتكم إن شاء الله .

#12

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته ..

للــــــــــــــــــــــــــــــــــــــــــــــــرفـــــــــــــــــــــــــــــــــــــــــع ^^^^

يا معين

#13

اختي عشان ابري ذمتي ترا انا ما افقه شي في قواعد البيانات ولا أقدر أساعدك للأسف ..

لكن حاولي تحلين مشلتك ولا تستسلمي إلى أن يرد عليك احد ذوي الخبرة في هذا المجال ..

118650.jpg
#14
azooz-tamimi كتب:

اختي عشان ابري ذمتي ترا انا ما افقه شي في قواعد البيانات ولا أقدر أساعدك للأسف ..

لكن حاولي تحلين مشلتك ولا تستسلمي إلى أن يرد عليك احد ذوي الخبرة في هذا المجال ..

اخوي مشكور ما قصرت ( وعظم الله اجرك )

لا عادي خوك كلن وقدراته ..

هذا انا ارفع في هذا المشروع لعلى وعسى .. وأملي بالله كبير .. ولو اني فقدت الحماس كليا .. !!

على العموم مشكور وما قصرت ومبري الذمة اخوي ..

للرفع يا خبراء ساعدوني ...!

#15

الأخت الكريمة التعامل مع DataGrid جميل وبمنتهى السهولة :happy:

لقد قمت بإنشاء نافذة لإدخال وتعديل وحذف كتاب في مشروعك الموجود في المرفقات

أظن هذه النافذة توضح تماما العمل مع DataGrid وبذلك ستكملي مشروعك ان شاء الله

وإن احتجت مساعدة في اي خطوة سنساعدك انا واعضاء المنتدى ...

وسأشرح الخطوات والكود في مشاركة أخرى قريبا بإذن الله

project form.rar

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

#16

الخطوات ...

أولا: نضيف نافذة جديدة..

ثانيا: من قائمة DataSource (إذا لم تظهر من Data>Show DataSource ) نحدد جدول Book وبالسحب والافلات في النافذة ... تظهر لنا النافذة بالشكل التالي مع بعض التنسيق:

post-40855-12754815991699_thumb.jpg

ثانيا: حقل CatID نريد ان نظهر فيه جميع الاصناف لهذا الكتاب لان العلاقة بينما One To Many ولهذا نحتاج لان يكون هذا الحقل قائمة لتظهر لدينا جميع الاصناف

لعمل ذلك نقوم باختيار Edit Columns

post-40855-12754819191332_thumb.jpg

ثالثا: نحدد الحقل CatID ونحدد نوع الحقل بأنه قائمة dataGridViewTextBoxColumn :

post-40855-12754830538045_thumb.jpg

ومن ثم نحدد DataSource لهذه القائمة الجدول Cat من DataSet

post-40855-12754835885367_thumb.jpg

وبعد ذلك نحدد الخاصية DislpayMember ليعرض قيمة الحقل Cat وقيمة ValueMember على قيمة الحقل CatID وهي العلاقة التي تربط جدول الكتب مع جدول الاصناف ببعضعا

post-40855-12754836737728_thumb.jpg

رابعا: نقرتين على زر الاضافة في قائمة الادوات لنكتب كود الاضافة التالي:

 try
 	{
 	this.bookBindingSource.EndEdit();
 	this.bookBindingSource.AddNew();
 	}
 	catch
 	{
 	}

خامسا: نقرتين على حدث الحذف في قائمة الادوات لنكتب كود الحذف التالي الذي يقوم بحذف الكتاب المحدد من DataGrid

try
 	{
 	this.bookBindingSource.EndEdit();
 	 this.bookBindingSource.RemoveCurrent();
 	}
 	catch
 	{
 	}

سادسا: نقرتين على حدث الحفظ في قائمة الادوات لنلاحظ ان الكود مكتوب كالتالي:

 this.Validate();
 	this.bookBindingSource.EndEdit();
 	this.tableAdapterManager.UpdateAll(this.umAliDataSet);

وفي حدث نقر على زر Add عند الكتاب نستدعي هذه النافذة لتظهر لدينا بالشكل التالي:

post-40855-1275484296528_thumb.jpg

لقد قمت بإضافة الاصناف يدويا ولكن ملاحظة هاااااامة (من الأفضل ان يكون CatID رقم وليس نص )

أمل ان يكون الشرح وافي والفكرة وصلت وتحققت الفائدة

بالتوفيق :cool:

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

#17

هلا اخوي ..

مشكور ما قصرت والله ما قصرت .. انا عارفة الحل كنت بس الكود ما كان عندي ..ولا جاتني عبقرية .. على العموم عزيزي .. لقد طبقت الي طلبته مني ويصير بارك الله فيك بس عندي ارور بس اعدله .. وتصير عنده شغلات بخبرك..

انا على العموم استخدمت قبلا هذة الطريقة الي الي في هذا الرابط http://www.edumax.com/c-sharp-basics-creating-a-database-part-2.html وكان تقريبا فيه نفس الشرح بس انا ما ادري ليش ما عرفت .. مشكور ما قصرت اخوي ..

الصراحه عنجد فرحانه .. جزاك الله خير الجزاء .. وفي ميزان حسناتك عساك ما تشوف شر في دنياك .. الله يعطيك الصحة والعافية ... الله يرحم والديك .. والله بدعي لك بالخير ..

اخوي .. في المرفق الي ارسلته لي .. ما اعرف شلون افتحه .. ما يرضي ينفتح ابي اشوف الفورم الي انت صممتها ما يصير .. ما ادري ليش ..؟

وخدمتك هذة على عيني وراسي..

#18

اخوي انا استهدمت CAT تكست عشان المساحة في الذاكرة ما تصير كبيرة وتضيع علي وبالحاله هذة .. بيصير في الديبج بطء .. !

يعني ما يصير اخليها تكست .....؟ اغيرها يعني .. واسويها رقم .؟

#19

السلام عليكم ورحمة الله وبركاته ..

اخوي انا عدلت الأرور الي يطلع لي كان بسبب CATID مش راضي يصير كمبو بوكس .. فعدلت في قاعدة البيانات ورد عملت ربط من جديد وصار اوكي ..

باقي لي استخدم البحث .. انت تتطرقت للإضافة والحذف والحفظ ..؟!!

البحث لم تشرح عنه اي شيء ..

انا بعرض لك الصورة .. التي توضح الي انا اشتغل فيه .. ياريت بس لو تساعدني بالبحث كمان .. ويجزاك ربي كل الخير

#20

اذا كنت تردي البحث يكون بشكل تلقائي بدلاً من استخدام الزر وانا افضل هذه الطريقه

استخدمي الحدث تكست شينج مع التكست بوكس

تجديد جاهز مع البرنامج المرفق في موضوعي هذا رابطي

#21

الأخت الكريمة لا شكر على واجب هدف المنتدى هو تبادل الخبرات والمعلومات ...

اقتباس

اخوي .. في المرفق الي ارسلته لي .. ما اعرف شلون افتحه .. ما يرضي ينفتح ابي اشوف الفورم الي انت صممتها ما يصير .. ما ادري ليش ..؟

وخدمتك هذة على عيني وراسي..

الملف مضغوط بعد فك الضغط وفتح البرنامج ستجدين الفورم في حدث Click للزر ADD في قسم Book

اقتباس

اخوي انا استهدمت CAT تكست عشان المساحة في الذاكرة ما تصير كبيرة وتضيع علي وبالحاله هذة .. بيصير في الديبج بطء .. !

يعني ما يصير اخليها تكست .....؟ اغيرها يعني .. واسويها رقم .؟

اختي بالعكس Primary Key للجدول من الأفضل دائما ان يكون من نوع رقم وذلك لاسباب عديدة لا يتسع الوقت لذكرها ولكن من أهمها

من ناحية قاعدة البيانات الحجم يكون اقل حيث ان الرقم يستخدم 2 بايت بينا النص كل حرف يأخذ 2 بايت

وأيضا الفهرس Index على الرقم اسرع من النص

ومن ناحية التطبيق استخدام الرقم لا يأخذ مساحة أكثر من النص بل العكس الرقم ياخذ في الذاكرة 2 بايت فقط بينا النص كل محرف 2 بايت..

بالنسبة للبحث مشاركة الاخ عبد الله جيدة في البحث ولكن اذا اردت البحث بالطريقة العادية باستخدام ADO.NET ساشرحه قريبا في مشاركة اخرى..

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

#22

هلا اخوي .. :)

مشكور ما قصرت ..

نعم اريد البحث ليس بالطريقة العاديه فهذيك جربتها وما تعطيني الشروط الي ابيها في البحث ..

وبرفق لك محاولاتي فيها بعد قليل ..

اريد البحث يطلع لي النتيجه على القريد فيو .. ابحث من خلال اني اختار من مجموعه من الراديو بوتن مثلا اضغط على البحث بواسطة المؤلف في الراديو بوتن واكتب اسم المؤلف في تكست بوكس واضغط بوتن سيرج ويطلع لي النات علي القريد فيو ..؟ يصير .. ؟؟ وإذا يصير .. تفضل وتكرم بشرح ذلك ... وبكون لك شاكرة .. وداعية لك بالخير والعافية ..بارك الله فيك .. بإنتظار مشاركتك على احر من الجمر ..!

عساك على القوة

تم تعديل هذه المشاركة بواسطة om meme في 3 يونيو 2010 في 11:27

#23
عبد الله ساعاتي كتب:

اذا كنت تردي البحث يكون بشكل تلقائي بدلاً من استخدام الزر وانا افضل هذه الطريقه

استخدمي الحدث تكست شينج مع التكست بوكس

تجديد جاهز مع البرنامج المرفق في موضوعي هذا رابطي

هلا اخوي ما قصرت والله ..

لا انا جربت هاي الطريقة وما عجبتني .. وما كأني استخدمت شيء جديد .. وهي الطريقة التقليدية .. جربتها بس انا ابي طريقة القريد فيو .. مثل الصورة الي وضعتها سابقا ً .. وكمان في طرية اخرى استخدمتها موجودة في موقع فيجوال سي للعرب .. من خلال امر كوماند .. ذيج بعد ما ابيها .. انا ابي عن طريق الأوديو دوت نت .. مثل ما ذكر اخوي الي مو عارفه شلون انطق اسمه ..!! الي ساعدني كثير جزاه الله خير ..

فمشكور اخوي ما قصرت وتعبتك معي كمان .. ( على فكرة انا قرأت الرابط مالك الي عطيتني اياه من قبل كم يوم ما اذكر متى عندما عملت بحث بالمنتدى .. وقريته وطبقته .. ) !!!

عساك على القوة

#24

السلام عليكم ورحمة الله وبركاته ..

أخي was_hai

انا استخدمت هذة الطريقة في البحث .. ضبطت معي اول مره .. سويت مره ثانيه قال لي الداتا تايب غلط ..!! مدري ليش ..؟ هل اقدر اغير الداتا تايب من داخل السي شارب مثل الاكسس ..؟

#25
om meme كتب:

باقي لي استخدم البحث .. انت تتطرقت للإضافة والحذف والحفظ ..؟!!

البحث لم تشرح عنه اي شيء ..

انا بعرض لك الصورة .. التي توضح الي انا اشتغل فيه .. ياريت بس لو تساعدني بالبحث كمان .. ويجزاك ربي كل الخير

البحث:

للبحث طرق مختلفة منها في الوضع المنفصل والوضع المتصل

ساطرق لطريقة واحدة بسيطة لمن يحتاج بحث على حسب احد او جميع حقول الجدول المراد البحث ضمنه

أولا صورة البرنامج مع البحث:

post-40855-12755538037548_thumb.jpg

الخطوات:

1- نضيف حقول البحث وقائمة الاصناف للبحث حسب الصنف ، نضيف DataGrid للكتب بالسحب والافلات كما في السابق

مع بعض التغييرات:

- في Edit Columns نزيل جميع الخيارات (Enable Adding, Enable Deleting , Enable Editing ) وذلك لان البحث ليس فيه تعديل او حذف او اضافة..

- تغيير الحقل CatID إلى قائمة ايضا كما قمنا سابقا ولكن مع تغيير بسيط وهو اختيار جعل الخاصية DisplayStyle = nothing كما في الصورة

post-40855-12755542378389_thumb.jpg

- في الكود في الحدث Form Load نزيل الكود التلقائي الذي تولد عند سحب وافلات جدول Book وهو

 this.bookTableAdapter.Fill(this.umAliDataSet.Book);

لاننا نريد ان نولد كود خاص بنا لعملية البحث

ملاحظة: قمت بتغيير تسميات الحقول والعناصر الموجود في النافذة حتى يسهل التعامل معها في الكود لذلك أفضل بعد ان تتوضح الطريقة لديك ان تقومي بتحميل المشروع من المرفقات

2- اضفنا قائمة لعرض الاصناف ليتم البحث عن الاصناف وذلك كمايلي:

اضفت أداة ComboBox باسم CatComboBox مع Lable على النموذج من الخصائص properties ثم DataSource نختار الجدول Cat و DisplayMember الحقل Cat و ValueMember الحقل CatID

3- نقوم باضافة زرين للبحث والاغلاق، ومن خصائص Properties للنافذة Form Properties نختار Accept Buttom ونحدده على زر البحث وهذه الخاصية تقوم باستدعاء حدث زر النقر على البحث عن ضغط Enter من لوحة المفاتيح

4- نضيف الكود ا لتالي في حدث Click للبحث:

 	string QureySearch = string.Empty; //Varabile for Search Query

 	string SqlConditions = string.Empty;// Varabile for Search Condition With (Where)

 	if (BookIDtextBox.Text.Trim() != string.Empty) // Search by Book ID
 	{
 	if (SqlConditions == string.Empty) SqlConditions = " Where ";
 	else SqlConditions += " AND ";
 	SqlConditions += " BookID ='" + BookIDtextBox.Text.Trim() + "'";
 	}

 	if (BookNametextBox.Text.Trim() != string.Empty) 
 	{
 	if (SqlConditions == string.Empty) SqlConditions = " Where ";
 	else SqlConditions += " AND ";
 	SqlConditions += " BookName Like '%" + BookNametextBox.Text.Trim() + "%'"; //ability search part of book name
 	}

 	if (AuthertextBox.Text.Trim() != string.Empty)
 	{
 	if (SqlConditions == string.Empty) SqlConditions = " Where ";
 	else SqlConditions += " AND ";
 	SqlConditions += " Author Like '%" + AuthertextBox.Text.Trim() + "%'"; //ability search part of Auther
 	}

 	if (PublishertextBox.Text.Trim() != string.Empty)
 	{
 	if (SqlConditions == string.Empty) SqlConditions = " Where ";
 	else SqlConditions += " AND ";
 	SqlConditions += " Pub Like '%" + PublishertextBox.Text.Trim() + "%'"; //ability search part of Publisher
 	}

 	if(catComboBox.SelectedIndex >=0)
 	{
 	if (SqlConditions == string.Empty) SqlConditions = " Where ";
 	else SqlConditions += " AND ";
 	SqlConditions += " CatID = '" + catComboBox.SelectedValue.ToString() + "'"; //SelectedValue has CatID Value
 	}
 	QureySearch = "Select * from Book";
 	QureySearch += SqlConditions;

 	umAliDataSet.Book.Clear();// Clear Data in the dataTable before fill new query
 	OleDbCommand Command = new OleDbCommand(QureySearch,new OleDbConnection(Properties.Settings.Default.UmAliConnectionString));
 	//Commad variable for search query
 	this.bookTableAdapter.Adapter.SelectCommand = Command; 
 	this.bookTableAdapter.Adapter.Fill(umAliDataSet.Book);
 	this.BookdataGridView.DataSource = umAliDataSet.Book; // Set DataTable to DataSource of DataGrid

وبذلك يكون لدينا نافذة فيها بحث بعدة حقول حيث يستطيع المستخدم البحث بأي حقل او جميع الحقول مع بعض لفلترة النتائج

ولاحظي استخدام كلمة LIKE في جملة الاستعلام عن اسم الكتاب و الناشر و الكاتب وذلك للبحث بجزء من الاسم وليس كامل الاسم اي مثلا لو كان الكتاب اسمه

"هندسة الحواسيب" و آخر اسمه "الهندسة المعمارية" فيكفي ان نكتب كلمة هندسة في حقل اسم الكتاب ليحضر لنا كلا الكتابين

أرجو ان تكون الفكرة وصلت

والمشروع في المرفقات

بالتوفيق للجميع :cool:

project form.rar

تم تعديل هذه المشاركة بواسطة was_hal في 3 يونيو 2010 في 12:26

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…