جشنواره عیدانه راکت | عضویت ویژه راکت برای آخرین بار | افزایش قیمت‌ها از سال جدید | و ...

مشاهده اطلاعات بیشتر...
ثانیه
دقیقه
ساعت
روز
reza esmaili
4 سال پیش توسط reza esmaili مطرح شد
1 پاسخ

مشکل درفراخوانی stored procedure با پارامتر خروجی در لاراول

با سلام

من قبلا برنامه ای رو به زبان برنامه نویسی دلفی با پایگاه داده sql server نوشته بودم ، تمامی کوئری های پایگاه داده در داخل خود sql server تحت store procedure ایجاد شدن ، به طوری که در برنامه دلفی کافیست مثلا جهت لاگین کاربر SP مربوط به UserLogin فراخوانی کرده و پارامترهای ورودی داده و با دریافت پارامترهای خروجی از SP نسبت به صحیح بودن یا نبودن نام کاربری و پسورد بررسی لازم صورت گیرد

من تصمیم گرفتم این برنامه را در لاروال پیاده سازی کنم ، در ابتدا من ارتباط لاراول را با sql server طبق آموزش های که در اینترنت پیدا کردم برقرار کردم اولین مشکلی که برخوردم که اینکه چطور من میتونم در لاراول sp از sql server را با پارامترهای ورودی اجرا کنم به طوری که بتونم پارامترهای خروجی آن را ، همراه جدول ارسالی دریافت کنم طبق آموزش های در سطح اینترنت ، و فیلم آموزشی که طی تیکت قبل لطف کردید و گذاشتید ، نحوه فراخوانی sp با پارامترهای ورودی و دریافت جدول خروجی امکان پذیر است ، اما اگه sp علاوه بر جدول ، متغیری نیز به عنوان خروجی داشته باشد ( با این هدف که اگر مشخصات کاربر و پسورد طبق پارامترهای ارسالی مطابقت داشت ، عددی را طبق پارامتر خروجی ارسال کند ) جهت نحوه دریافت متغیر دچار مشکل میشوم و راهی جهت دریافت پیدا نمیکنم ، فرض میکنیم SP در SQL server بدین شکل تعریف شده باشد :

alter PROCEDURE GetUsers۱ @namein varchar(۱۰),@idn int,@emailin varchar(۵۰),@Xout int Output

AS

begin

SELECT * from dbo.users where name=@namein and id=@idn and email=@emailin

SELECT @Xout=@@ROWCOUNT

end
در حالت معمول من طبق روش زیر sp را فرخوانی میکنم :
$values=['reza',۱,'m.yara@gmail.com',۱];
$sample=DB::select('exec getusers۱ ?,?,?,?',$values);
dd($sample);
نتیجه این فراخوانی برگرداندن جدول خروجی sp است اما مقدار متغیر xout برگردانده نمیشود ، با dd محتوای متغیر sample بررسی کردم ، خروجی با محتوای این متغیر نیست .

مشکل این است که چطور من میتونم Sp را بدین شکل فرخوانی کنم که بتونم علاوه بر خروجی جدول ، مقدار متغیر خروجی xout را هم داشته باشم .


ثبت پرسش جدید
reza esmaili
@m.yarandish 4 سال پیش مطرح شد
0

کسی نیست مرا یاری کند!


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام