خرید بک لینک

سلام وقت به خیر
دوستان من برای پیاده سازی یک جستجوی ترکیبی روی یکی از جداول دیتابیسم از Stored Procedure زیر استفاده کردم :

کد PHP:

CREATE PROCEDURE procPersoelSearch
@ID int = Null,
@
Name nvarchar(50) = Null,
@
StartDate datetime = Null,
@
EndDate datetime = Null,
AS
BEGIN

Select

* From tblPersoel
Where ID
= ISNULL(@ID, ID)
AND
Name = ISNULL(@Name, Name)
AND
StartDate = ISNULL(@StartDate, StartDate)
And
EndDate = ISNULL(@EndDate, EndDate)
END
GO
این Stored Procedure بر اساس متغیرهایی که براش تعریف کردم (مثل نام کارمند، کد پرسنلی کارمند و...) جدولم رو جستجو می کنه و نتیجه مناسب رو برمی گردونه
دلیل اینکه از ISNULL استفاده کردم اینه که بتونم جستجو رو به صورت ترکیبی (چند کلید) هم پیاده سازی کنم
Stored Procedure به خوبی کار می کنه و فقط کافیه متغیر یا متغیرهایی که می خوام بر اساس اونا جستجو انجام بشه رو براش ارسال کنم تا نتیجه رو برگردونه
اما مشکل اینجاست که زمانی که مقدار یکی از پارامتر ها در جدول مربوطش NULL باشه هیچ نتیجه ای رو بر نمیگردونه !
مثلا وقتی مقدار EndDate (تاریخ پایان قرارداد کارمند) در جدول کارمند NULL باشه کد بالا کار نمی کنه !
میخواستم بدونم از چه تکنیک یا تابعی باید استفاده کنم تا در این حالت خاص هم جواب بده ؟
خیلی ممنون

برچسب: نویسنده: محمد رضا جوادیان تاريخ: يکشنبه 23 اسفند 1394 ساعت: 6:30

صفحه بندی