نعم أختي الكريمة:
لإستدعاء Stored Procedure مكتوب في قاعدة البيانات من خلال #C. الأمر بسيط علينا بالخطوات التالية:
1. بعد أن نعرف Connection String، نقوم بتعريف SqlCommand ونمرر لها إسم الـ Stored Procedure كما هو معرف بقاعدة البيانات، مثلا لنفرض إسم الإجراء TopTenMovies، فنكتب:
SqlCommand cmd = new SqlCommand("TopTenMovies", connectionString);2. نحتاج لتعريف نوع Command بأنه ليس Query عادية وإنما اجراء مخزن Stored Procedure
cmd.CommandType = CommandType.StoredProcedure;
3. نقوم بتعريف مجوعة المتغيرات المدخلة لهذا الإجراء، Stored Procedure's Parameters إذا كان الإجراء يحتاج لها. سنفترض أن الإجراء لدينا بحاجة لمتغير إسمة Name
cmd.Parameters.Add(new SqlParameter("@Name", "MyName"));4. الأن نحن بحاجة لتنقيذه وقراءة الناتج ويتم ذلك عن طريق DataReader
SqlDataReader dataReader = cmd.ExecuteReader();
فيما يخص Update, Delete, Insert بالطبع يجب مراعاة حالة الكتابة، كون العملية حساسة من ناحية نوع البيانات أو شكل الـ Query.
إذا كان موضوع قواعد البيانات والتعامل معها مهم بالنسبة لك، فأنصحك بالبدء بتعلم تقنية LINQ ، لتنتقلي بعدها إلى LINQ To SQL Classes ثم ADO.NET Entity Framework Model.
حيث سيكون التعامل مع قاعدة البيانات قوي وسهل، حيث نقوم فقط بربط قاعدة البيانات مع هذا العنصر الجديد، وهو سيتولى عملية توليد الكلاسات، وإنشاء عمليات Insert, Update, Delete، وكما بإمكانه إيضاً استيراد الإجراءت المخزنة من قاعدة البيانات حيث تصبح ميثود ضمن المشروع، فيصبح استدعاء اجراء مخزن كإستدعاء ميثود سي شارب عادية.
الأمر في غاية السهولة، إذا كنت ترين أن مشروعك بحاجة لنوع من الترتيب والسهولة في العمل لك وللبرنامج يمكنك الإنتقال لهذه المفاهيم الجديدة، يمكنني مساعدتك في توضيح بعض النقاط ليصبح الأمر بغاية السهولة.
بالتوفيق.
• • •
[ ربيّ احفظ سوريا الحبيبة]

