ورود

View Full Version : مشکل در پروسیجر وقتی کاربر همه پارامترهای ورودی پروسیجر را وارد نکند



niusha_amir
دوشنبه 10 دی 1397, 23:26 عصر
با سلام خدمت همه دوستان
من مشکلم رو با یه مثال کوچیک میزنم
نام :
نام خانوادگی :
سن:
یه پروسیجر نوشتم با سه تا ورودی برای موارد بالا و از یک جدول اطلاعات را میگیرد شرط گذاشتم که این سه تا ورودی با هم and بشن
ولی کاربر بتونه مثلا یکبار فقط نام خانوادگی را وارد کند گزارش بده و یه بار هر سه را وارد کند با در نظر گرفتن and گزارش درست بده و یا نام و سن را وارد کرد گزارش دیگر و...

ولی وقتی کاربر همه فیلد ها رو وارد نمیکنه درست نمی باشد

create proc search
@name nvarchar(10),
@family nvarchar(20),
@age int
as
begin


select *
from Table_1
where name=@name and family=@family and age=@age
end
---=========================================
exec search 'ali','',''

hamid_hr
چهارشنبه 12 دی 1397, 17:19 عصر
شرط رو اینطوری تغییربدین احتمالا درست بشه
where (isnull(@name,'') = '' or name=@name) and (isnull(@family,'') = '' or family=@family) and (isnull(@age,'') = '' or age=@age)

niusha_amir
شنبه 15 دی 1397, 12:31 عصر
بسیار متشکرم