ورود

View Full Version : مقدار پیش فرض برای خروجی یک SP



www2006
شنبه 07 بهمن 1385, 16:38 عصر
سلام
تو یک قسمت از یک برنامه ، میخوام نام یک کاربر را بعنوان ورودی یک SP ارسال کنم و Id او بعنوان خروجی برگردانده شود ...
من دو بار ، یک SP را به این شکل مقدار دهی و اجرا میکنم :


ADOStoredProc_User_show_ID.Parameters[2].Value := Reciever ;
ADOStoredProc_User_show_ID.ExecProc ;
RecieverNumber := ADOStoredProc_User_show_ID.Parameters[1].Value ;

ADOStoredProc_User_show_ID.Parameters[2].Value := Sender ;
ADOStoredProc_User_show_ID.ExecProc ;
SenderNumber := ADOStoredProc_User_show_ID.Parameters[1].Value ;

توضیح : Reciever و Sender هر دو String هستند و RecieverNumber و SenderNumber هم دو متغیر Integer .

مشکل :
دومین فراخوانی SP مطمئنا یک مقدار درست برمیگرداند ( براساس ورودی های برنامه اینو میگم) . . ولی اولی نه .. منظورم اینه وقتیکه اینSP مقدار ارسال شده را، در جدول پیدا نمیکند مقدار متغیر RecieverNumber دقیقا برابر SenderNumber میشود و همین مسئله مشکل ساز میشود ...

سؤال من اینه که میشه SP را طوری نوشت که اگر نتوانست رکوردی را با شرط تطبیق دهد ،Null برنگرداند و یک مقدار پیش فرض (مثلاً مقدار صفر برگرداند .. )

www2006
شنبه 07 بهمن 1385, 19:20 عصر
مشکل حل شد ...
با اضافه کردن دستور زیر به SP :
set @Number = 0