PDA

View Full Version : گرفتن مقدار خروجی از store procedure



homa sadeghi
دوشنبه 01 دی 1393, 17:07 عصر
سلام
من برای ثبت رکورد در دیتابیسم از store procedure استفاده می کنم
store proce dure رو این طورنوشتم:
begin try

.
.
.
return 1;
end try
begin catch
return -1;
end catch


بعد تو برنامه فراخوانی که کردم:
...int result= db.Database.ExecuteSqlCommand("AddAbsent {0
همیشه مقدار -1 برمی گردونه اما وقتی دیتابیسم بررسی می کنم رکورد جدید کامل ذخیره شده
پیشاپیش ممنون از راهنمایی تون

sunn789
دوشنبه 01 دی 1393, 18:43 عصر
سلام ای کاش اینو توی تالار sql میپرسیدین چون اینجا عموماً از زمانی از code first استفاده میکنیم و از SP ها استفاده نمیکنیم ، البته نمیگم استفاده از Sp کا رنادرستیه ،

r4hgozar
سه شنبه 02 دی 1393, 11:33 صبح
سلام.
ببخشید دخالت می کنم. من چون برنامه نویسی windows form و wpf رو هم انجام میدم این رو میگم.
فکر کنم منظور دوستمون استفاده از پروسیجر ها در mvc هست که فرمودن اشتباه است چون در کل پروسیجر ها در سایر برنامه نویسی ها بسیار مفید هستند. حتی در asp هم خیلی به آدم در مواقعی که از dbfist استفاده می کنیم مفید هست.

اما جواب این دوستون شما اصلا نیاز نیست توی پروسیجر try و کش بنویسین و سنگینش کنین.
تو خود برنامت مقادیر رو بررسی کن و در صورت صحت بفرست طرف پروسیجر.
پروسیجر هر چی سبک تر باشه بهتره.

sunn789
سه شنبه 02 دی 1393, 13:55 عصر
من شاگردی میکنم اینجا ، در اخر جمله عرض کردم استفاده از Sp نمیگم که کار نادرستیه؛ نخواستم بحث کنم ، فقط سوء تفاهم رو برطرف کرده باشم
اما در مجموع استفاده از sp ها ر کار پسندیده تری از اجرا در محیط برنامه نویسی است اما ، با توجه به رشد روز افزون پروژه ها استفاده از تکنولوژی و لزوم بودن تیم برنامه نویسی ، من که قراره با CodeFirst کار کنم دیگه در گیر قوانین و قواعد SQL نخواهم بودف اما میدونیم که استفاده از Sp ها بار رو از روی نرم افزار بر میداره و به سرور و موتور SQl وارد میکنه که اگر سرور قدرتمندی داشته باشیم مطمئناً بهتر
راستی ببخشید اینجا در زیر سوال سما دوست عزیز من نطق کردم ، گفتن این صحبتها رو دوست دارم چون اگر اشتباه بگم دوستان کمک میکنند و نظر هاشون سواد من رو بیشتر میکنه :چشمک::چشمک::چشمک:

RIG000
سه شنبه 02 دی 1393, 17:05 عصر
من احساس میکنم که تو این شرایطی که ef به شما میده و شما برید از sp استفاده کنید کاملا مثل این میمونه که یه عکس 6*4 با یه کدو گرفته باشید.
این دوست ما هم که sp استفاده میکنن چیزی هست که ازش خواستن و هنوز تفکرات مربیش که بهش میگه اینجوری کار بکن رو میشه تو خیال بافی های فیلم 300 دید که نه واقعیت داره و نه ارزشی . و نه اینکه بخای براش زمان بذاری و بسازیش و اخرش قاطی باقالی ها بشه . !!

RIG000
سه شنبه 02 دی 1393, 17:15 عصر
یان دوست ما هم فکر میکنم با set noncount on فکر کنم مشکلش حل بشه.....

homa sadeghi
چهارشنبه 03 دی 1393, 10:11 صبح
سلام به همه دوستان code first ی
اینکه استفاده از spکمی سخته درست
اما سرعت کارش بالاتر هست
و سرعت اجرا توی پروژه های وب خیلی مهمه.نه؟
اگه حرف من قبول ندارید امتحان کنید
حالا اینکه خروجی sp من طبق پیش بینی من نیست،سوال شده
توضیح اینکه وقتی تو sql server اجراش می کنم درست کار می کنه و خروجی هم همونی که باید باشه اما تو پروژه Mvc من که مقدار درست برنمی گردونه به همین دلیل این سوال اینجا پرسیدم
و در آخر از همه دوستانی که برای پاسخ به این سوال وقت گذاشتن تشکر می کنم

RIG000
چهارشنبه 03 دی 1393, 11:39 صبح
شما بعد ازbegin این کد رو تو پروسی جر خود بذار. ببین جواب بهت چی میده

SET NOCOUNT OFF
و خبرش رو بهم بده.

homa sadeghi
چهارشنبه 03 دی 1393, 14:54 عصر
شما بعد ازbegin این کد رو تو پروسی جر خود بذار. ببین جواب بهت چی میده

SET NOCOUNT OFF
و خبرش رو بهم بده.
سلام به شما
ممنون از پاسخگویی تون متاسفانه کار نکرد.