• 0
محمد فؤاد تركي

مثال للمبتدئين لعمليات ( الحفظ - الحذف - التعديل - البحث )

سؤال

السادة أعضاء منتدي الفيجوال بيسك دوت نت 

 

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

كل عام وأنتم بخير بمناسبة شهر رمضان الكريم أعاده الله عليكم بالخير واليمن والبركات

 

هذا المثال للمبتدئين فقط والمحترفين يمتنعون  :D 

 

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

( الحفظ - الحذف - التعديل - البحث ) باستخدام قاعده بيانات أكسس

ولقد استخدمت اليوم اسلوب أعتقد من وجهه نظري انه الاسهل في الاستخدام وهو استخدام Stored Procedure

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

 

السبب الاول :-  لم الاحظ مثال في المنتدي يشرحهم بشكل وافي

السبب الثاني :- أن أغلب الاعضاء يكتبون جمل الاستعلام في محرر الفيجوال بيسك بشكل مباشر مما يعرضعهم دائما للوقوع في أخطاء Syntax 

السبب الثالث :- طول جمل الاستعلام المكتوبة داخل محرر الفيجوال بيسك مما تجعل المحرر يظهر كأنه مزدحم بالاكواد لكن مع استخدام الباراميترات والاجراءات المخزنه نقلل من شكل الكود المكتوب

 

سنجد في المثال طريقة مليء DataGridView وكيف يتم عمل فلتر للبيانات داخل DataGridView بناء علي الشرط المختار من ComboBox

أيضا استخدمت برنامج الاكسس 2003 لانه شائع الاستخدام عن 2007 و 2010 و 2013

 

post-46243-0-50113200-1374415159.jpg

 

سنجد ايضا طريقة مليء الاداه ComboBox بالبيانات من قاعده البيانات

سنجد ايضا بالمثال طريقة استرجاع البيانات علي الفورم باستخدام DataReader

 

post-46243-0-17146000-1374415151_thumb.j

 

والان سأترككم مع المثال وأتمني التوفيق للجميع

Tutorial.rar

2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

34 إجابة على هذا السؤال .

  • 0

الف شكر اخي

فؤاد على هذا المثال

 

ولكن هل بالامكان عمل مثال صغير مشابه للمثال المذكور باستخدام LINQ

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الفاضل Kafi

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

 

غالي والطلب رخيص

 

تم تصميم نفس المثال ولكن هذه المرة باستخدام قاعده بيانات  SQL Server 2008 R2 وطريقة الربط في هذا الدرس عن طريق LINQ

 

المثال يحتوي علي عمليات (الحفظ - الحذف - التعديل - البحث) باستخدام LINQ

 

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

سيكون التعديل داخل ملف app.Config وكما هو موضح بالصورة

 

post-46243-0-77151900-1374518381_thumb.j

 

 

post-46243-0-33587700-1374518395_thumb.j

 

 

المرفقات

 

1- المشروع

2- قاعده البيانات

 

بالتوفيق

 

LINQ_DataBase.rar

LINQ_TO_SQL_SERVER.rar

2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جهد متميز وطريق متميزه

بارك الله فيك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الاستاذ  الفاضل  محمد  

معك ان شاء الله نتعلم تكنيك اللنك    بدلا من الادو  

ولكن لي  رجاء    وبقضل شهر رمضان الكريم

استبدل  السكول بالاكسس  في المثال

لعدة اساب  اتمني ان تقتنع بها

الاكسس  موجود عند كل الناس    

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

سهل التعامل مع الاكسس

شكرا علي مجهودك  الوفير  مع  تلبية طلبي

 

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

برجاء  تعديل المثال

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الفاضل atefkhalf2004

 

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

 

لا يوجد اتصال بالاكسس عن طريق LINQ لانها تستخدم للاتصال بقواعد بيانات SQL Server فقط ولكي تتصل بقواعد بيانات MS-ACCESS فيجب عليك استخدام الطريقة الاولي وهي ADO.NET لان مايكروسوفت لم تقم بانشاء Linq to MS Access provider

 

==================

بخصوص سؤالك سأحاول اتطلع علي المشاركة

تم تعديل بواسطه محمد فؤاد تركي
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا لاهتمامك السريع  

دائماااااااااااااااااااااااااااااا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الاستاذ محمد  ممكن في خطوات بسيطة نوضح لنا كيفية عمل استعلام الحذ  والتحديث  في الاكسس  

خطوات بسيطة

بحثت في الشبكة  ولم اصل الي حل

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

 

انا عملت استعلام تعديل   واطلعت علي جمل الاس كسو ال   وجدتها غير التي حضرتك ارفقتها في المثال 

وهي التي تحتوي  علي  العلامة  @

لذا اسال   علي  خطوات عمل الاستعلام  بالطريقة التي يكون فيها  الكود  يحتوي  علي  الرمز  @

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

 

لك جزيل الشكر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الفاضل

ما هو الشيء الغير واضح في هذا الاستعلام البسيط

قم بعرض الاستعلام في نمط التصميم وشاهد الــ Parameters الموجوده بداخلة وكما هو موضح بالصورة المرفقة

 

post-46243-0-26333700-1374673602_thumb.j

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تمام يا اسناذ  محمد     وضحت الصورة      

 

كان سؤالي   هل هذه العلامة  @     نضعها نحن ام نظهر بمجرد السحب والافلات    

 

لذا  طلبت من حضرتك  فيديو بسيط يوضح  عمل استعلام التعديل  ويكون كالتي بالصورة

لا تنس   تعديل المثال في قسم  ادو  الخاص  بتعديل بيانات سجل مع العودة الي نفس السجل

اكثر الله من امثالك     

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

 

شكرا اخي فؤاد على استجابتك على تحويل المثال الى LINQ

 

بصراحة .... انا حاولت ان اشغل المثال ولم يعمل.....

 

تريثت قليلاً .... ولم اطرح مشاركتي بالرد........واحببت ان اقرا اكثر عن موضوع ال LinQ وان اشاهد المزيد من الفيدويوهات

لعلي اعرف السبب

 

غيرت جملة الاتصال في ملف app.config

جهازي اسمه kafi

 

بحيث اصبح السطر بعد التعديل في ملف ال app.config  على النحو التالي

 

 connectionString="Data Source=kafi;Initial Catalog=LINQ_TO_SQL;trusted_connection=yes"

 

ومع ذلك لم يعمل، حيث تظهر رسالة خطا صورة رقم 4 !!!!!!! ( تم تشغيل المثال على فيجوال 2010)

 

اخي فؤاد من خلال قراءتي بالمنتديات عن موضوع ال LinQ

وجدت انه يتم وضع اسم السيرفر

sqlexpress\.

 

من اجل ضمان عمل المثال على جميع اجهزة من سوف يوزع عليهم المشروع، ودون الاضطرار الى تعديل في ملف ال Config

صورة رقم 3

 

اخي فؤاد ......

هل بالامكان تعديل مثال LinQ حسب ماذكرت اعلاه، لانني اظن ان معظم الشباب لم يستطيعوا تشغيل المثال، كما اظن انه من الافضل وضع شرح مصور لخطوات العمل خطوة خطوة، او وضع مقطع فيديو فيه الشرح،

 

وخصوصاً ان المثال بسيط ومثالي لفهم العمليات الاساسية في ال LINQ

 

بارك الله فيك

 

والف شكر

post-32358-0-98517800-1374704206_thumb.j

post-32358-0-01766100-1374704260_thumb.j

تم تعديل بواسطه kafi
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الفاضل kafi

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

 

أولاً :- أود أن أوضح لك بعض المفاهيم وهي ان اي سلسلة اتصال تتكون من عده مقاطع و معطيات وهذه المعطيات اذا اعطيناها للبرنامج بشكل سليم يتم الاتصال وبخلاف ذلك لا يتم الاتصال وتظهر الرسالة التي ارفقتها بفشل الاتصال وقد سميت بسلسلة لانها فعلا تنفذ كسلسله اذا انقطع منها جزء لا تستطيع استكمال باقي المهمة المطلوب منها ومن خلال هذا الشرح المبسط سأقوم بشرح مقاطع سلسلة الاتصال الاساسية والتي نحتاجها لكي يتم الاتصال بشكل سليم

هذه هي السلسلة

connectionString="Data Source=PC-Name\SQL Instance;Initial Catalog=LINQ_TO_SQL;trusted_connection=yes"

سأشرح الان هذه السلسلة

 

المقطع الاول ويكون كالتالي 

Data Source=PC-Name\SQL Instance

 

حيث ان PC-Name هو اسم جهازك الذي تعمل عليه

 

السؤال :- من اين استطيع ايجاد اسم الجهاز الذي اعمل عليه بشكل سليم وبدون ما اكتب الاسم باخطاء مطبعية تعوق اتصال السلسلة

الاجابة :- اضغط علي My Computer كليك يمين ثم Properties ثم نذهب الي هذا المقطع الموجود في الصورة ونسخ اسم جهازي ونضعة هنا كأول مقطع من مقاطع سلسلة الاتصال

Data Source=WIN-R3LD2S9PBOT

وبهذا الشكل نكون قد جلبنا أول معطي في أول مقطع ولكن لم يكتمل المقطع الاول بعد

 

ملحوظة :- في بعض الاحيان يمكننا استبدال اسم الجهاز بهذه النقطة . حتي نتلافي وضع اسم الجهاز ونتلافي الاخطاء في الكتابة أثناء كتابة اسم الجهاز

أيضا عندما يعمل البرنامج علي اي جهاز آخر يأخذ معلومات الدخول (اسم الجهاز) بدون كتابته باليد لكن ليست هذه الاشكالية كل المسألة فمازال هناك اشياء يجب وضعها في الاعتبار

 

post-46243-0-70195200-1374729444_thumb.j

 

السؤال الان :- ما المطلوب عمله الان حتي استطيع استكمال المقطع الاول ؟

الاجابة :- المطلوب ان نضع اسم SQL Instance

 

السؤال :- أين استطيع ان اجد SQL Instance

الاجابة :- ستجده عندما نقوم بفتح SQL server Management Studio

لاحظ معي ان SQL Instance الموجود اسمة SQLEXPRESS كما في الصورة 

 

السؤال :- ماذا لاحظنا أيضا ؟

الاجابة :- لاحظنا ان اسم الجهاز موجود ضمن معلومات الدخول لبرنامج SQL

ومن  خلال هذه الاجابة نستطيع استنتاج ان أول مقطع من سلسلة الاتصال سيكون كالتالي

Data Source=WIN-R3LD2S9PBOT\SQLEXPRESS 

post-46243-0-19685700-1374729775_thumb.j

 

الحمد لله استطعنا كتابة أو مقطع من سلسلة الاتصال بشكل سليم

 

السؤال :-  ما المطلوب مننا عمله الان حتي نستطيع الدخول علي قاعده البيانات ؟

الاجابة :- المطلوب ان نضع من ضمن سلسلة الاتصال اسم قاعده البيانات وستكون في هذا المقطع

Initial Catalog=LINQ_TO_SQL

حيث أن LINQ_TO_SQL هو اسم قاعده البيانات ولا ننسي ان يكون بين كل ومقطع ومقطع هذه الفاصلة ;

 

وحتي الان سيصبح شكل السلسلة كالتالي

Data Source=WIN-R3LD2S9PBOT\SQLEXPRESS;Initial Catalog=LINQ_TO_SQL

السؤال :- بعد ان كتبنا معلومات الدخول المتاحة حتي الان وهي

1-  اسم الجهاز الذي اعمل عليه

2- اسم SQL Instance

3- اسم قاعده البيانات

ما هو المطلوب عملة الان ؟؟؟

 

المطلوب الان مننا هل برنامج SQL Server يدخل اسم حساب ورقم سري ويسمي (SQL Authentication) ؟؟

أم يتم الدخول علي برنامج SQL Server من غير اسم حساب ورقم سري ويسمي (Windows Authentication)

 

الاجابة :- اذا كنا ندخل علي برنامج SQL Server من خلال SQL Server Management Studio عن طريق اسم حساب ورقم سري فيجب كتابة هذه المعلومة داخل سلسلة الاتصال لتصبح السلسلة كالتالي

Data Source=WIN-R3LD2S9PBOT\SQLEXPRESS;Initial Catalog=LINQ_TO_SQL;user id=sa;password=123456

الاجابة 2 :-  اذا كنا ندخل علي برنامج SQL Server من خلال SQL Server Management Studio بدون اسم مستخدم و رقم سري ستكون شكل السلسلة كالتالي

Data Source=WIN-R3LD2S9PBOT\SQLEXPRESS;Initial Catalog=LINQ_TO_SQL;trusted_connection=yes

post-46243-0-04979600-1374730614_thumb.j

 

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

 

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

 

بالتوفيق

تم تعديل بواسطه محمد فؤاد تركي
3

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الف شكر اخي

فؤاد

على هذا الشرح الاكثر من رائع، من حيث تسلسل الشرح واستخدام لغة مبسطة تعيننا على الفهم

 

ولكــــــــــــــــن

 

قمت بتنصب فيجوال بيسك دوت نت 2010

الا انني لم اجد

SQL Server 2008 R2

 

مع ايقونات البرامج التي نتجت عن عملية تنصبب برنامج فيجوال ببسك دوت نت 2010، كما هو مبين بالصورة المرفقة !!!!!!!!!!

 

هل هناك برنامج SQL Server يتم تحميله ومن ثم تنصيبه، غير الذي يتم تنصيبه تلقائيا مع تنصيب الفيجوال بيسك دوت نت ؟؟؟؟؟؟

 

والف شكر

post-32358-0-81030200-1375049158_thumb.j

تم تعديل بواسطه kafi
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أنت تحتاج لتنصيب

Microsoft SQL Server 2008 R2 Management Studio Express

 

حتي تظهر لك هذه الشاشة

 

http://www.microsoft.com/en-us/download/details.aspx?id=26729

 

post-46243-0-95978100-1375074588_thumb.j

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا اخي

فؤاد على تواصلك وصبرك علينا

 

تم تنزيل الرابط

وتم تنصيب برنامج sql Server

 

وتم الحصول على المعلومات عن اسم الجهاز وعن اسم السيرفر

 

وتم تعديل ملف ال Config

 

بحيث اصبح

 

 

connectionString="Data Source=KAFI-PC\SQLEXPRESS;Initial Catalog=LINQ_TO_SQL;trusted_connection=yes"

 

 

وكل الخطوات التي عملتها ، عملت لها لقطة صورة شاشة

 

ولكن ما زال البرنامج لا يعمل معي ؟؟؟؟

 

اعتقد بان المشكلة ربما تكمن في عدم معرفة التوضع الصحيح لملفات الداتا

LiNQ_To_SQL_.mdf

LiNQ_TO_SQl_log.lde

 

اين يجب ان تتوضع تلك الملفات ؟؟؟

 

ارجو مزيد من المساعدة

بارك الله فيك

والسلام عليكم

post-32358-0-09027100-1375459474_thumb.j

post-32358-0-32603900-1375459505_thumb.j

post-32358-0-81855000-1375459533_thumb.j

post-32358-0-45720500-1375459581_thumb.j

post-32358-0-80883500-1375461604_thumb.j

تم تعديل بواسطه kafi
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هل قمت بعمل attach لقاعده البيانات داخل برنامج SQL ؟؟؟

 

ستجد الطريقة هنا في المشاركة رقم 9#

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا اخي

محمد فؤاد على توضيحك

 

اشتغل المثال

 

والحمد لله

بارك الله فيك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السيد الأستاذ المحترم / محمد فؤاد تركى

لقد كنت فى أشد الحاجة إلى هذا المثال وقد قمت بعمل مثال قريب جدا منه ولكن لاحظت أن عمليات الحفظ والحذف والتعديل لا تعمل وتعطينى error

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

أرجو تعديل المثال المرفق ومعرفة أين أخطائى وشكراً

TEST_MASRYA.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الخطأ في تصميم Query الحفظ والحذف والتعديل

 

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

 

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

كل عام وانتم بخير

 

اخي / محمد فؤاد

 

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

وهو عبارة عن قاعدة بيانات مؤلف من جدول وحيد، مؤلف من عدة حقول ( اسم المادة - سعر الشراء - سعر المبيع - ملاحظات)

 

 

وتم تقليد الاكواد، والحمد لله كود الاضافة والحذف يعملان بنجاح

ولكن كود التعديل رغم انه مشابه تماما لما طرحته حضرتك

الا انه لا يعمل

 

وفيما يلي نص الكود

Dim UpdateData As New DB.Data_BedaDataContext        Dim x = From beda In UpdateData.Bedas Where beda.Beda_id = txt_beda_id.Text Select beda        'x.beda_Name = txt_beda_Name.Text        'x.shra_Price = txt_Shra_Price.Text        'x.mabee_Price = txt_Mabee_Price.Text        'x.Beda_Note = txt_Note.Text        Try            UpdateData.SubmitChanges()            MsgBox("Data Updated")        Catch            ' Handle exception.        End Try

ارجو تصويب الكود والاشارة الى مكمن الخطأ

 

والف الف شكر

Data_Beda.rar

Material_LINQ 7.rar

تم تعديل بواسطه kafi
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

على العموم شكراً على رد حضرتك وإهتمامك وجارى المحاولة والتعديل

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي الغالي محمد تركي ... اجمل تحية ... وسلمت يداك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

 

مثال رائع وألف ألف شكر عليه .. وتمنينا لو أضفت عليه (الإضافة , البحث بأي مربع نص .. لو ممكن  .. يعني نقدر نبحث بالاسم أو العنوان ..)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .