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

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

بدأه visual6.0 في 30 مايو 2013 · 0 رد · 456 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1

السلام عليكم

 

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

 

 

كثيراً ماعانيت من مشكلة إضافة PROCEDURE وجعل عملية Where مرتبطة فقط بالبارمترات المعبئة فقط وتجاهل الفارغة.

 

شرح المشكلة

 

لدينا جدول أسماء الموظفين  EMP  به الحقول (رقم الموظف - اسمه - رقم هاتفه - تاريخ ميلاده وووو الخ )

 

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

 

في السابق كنت أعمل كل PROCEDURE لكل استعلام من الاستعلامات السابقة ، مثلا إجراء مخزن للاستعلام بواسطة رقم الموظف وآخر بإسمه وو.

أو انشاء (Create)  إجراء مخزن جديد من خلال لغة البرمجة به جملة الاستعلام ، ولكن هذه الطريقة ستجهد السيرفر إذا علمنا أن البرنامج سيعمل على شبكة .

 

حل المشكل يكون بالتالي:

 

1- جعل البارمتر يقبل القيم الفارغة باسناد  Null له ، مثال

 

 @ID INT = NULL

 

2- في حقول البحث نشرط عليه إذا كان البارمتر فارغ استثني هذا الحقل من البحث والعكس إذا تمت تعبئة البارمتر سيضيف الحقل لمجموعة معايير البحث ، مثال :

 

Select * From Emp Where (@ID IS Null Or ID=@id)

 

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

 

تحياتي : إبراهيم العبدلي

تم تعديل هذه المشاركة بواسطة visual6.0 في 30 مايو 2013 في 07:41

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

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

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

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

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