PDA

View Full Version : سوال: بررسی اجرا شدن دستورات SP در linq



mostafabestman
دوشنبه 07 اسفند 1391, 00:32 صبح
سلام.
چه طور میتونم اجرای صحیح یک دستور Stred procedures در Linq رو بررسی کنم؟
برای مثال دستور Add رو زدم و اطلاعات در دیتابیس ذخیره شد..حالا چه طور تأیید ذخیره شدن اطلاعات رو به کاربر نشون بدم؟
ممکنه مشکلی در سرور پیش بیاد که اطلاعات ذخیره نشه..
زبان مورد استفاده بنده VB هست.
نمونه کد استفاده شد:

Dim DB As New DataClassesDataContext

DB.AddNew(User,Pass)

masoud60
دوشنبه 07 اسفند 1391, 10:23 صبح
داخل پروسیجر از این دستور استفاده کن
RAISERROR(N'خطا', 18, 1)



-------------------------
http://www.kohan-co.net

Mohammadvb6
دوشنبه 07 اسفند 1391, 11:59 صبح
از try ,catch استفاده کنید .

mostafabestman
دوشنبه 07 اسفند 1391, 12:11 عصر
داخل پروسیجر از این دستور استفاده کن
RAISERROR(N'خطا', 18, 1)



-------------------------
http://www.kohan-co.net

با تشکر.در باره این دستور توضیح میدید؟
یک سوال دیگه اینکه چه طور مثلأ برای ثبت نام یک نام کاربری رو بررسی کنم که تکراری نباشه؟از دیتاگرید و... هم نمیخوام استفاده کنم.با استفاده از همین SP میشه همچین کاری کرد؟مقداری رو داد و بررسی کرد درصورت وجود یا عدم وجود پیام مناسبی برگشت داده بشه به برنامه؟

با تشکر

masoud60
دوشنبه 07 اسفند 1391, 13:45 عصر
با تشکر.در باره این دستور توضیح میدید؟



دستور RAISERROR هر پیغامی که شما به اون بدید رو داخل sys.messages ذخیره می کنه و این پغام از طرف سرور به سمت برنامه ای که شما نوشتین برگشت داده میشه و دستور شما به catch میفته و دقیقا پیغامی که در سمت پروسیجر نوشتین رو به شما بر می گردونه.

Try
Dim DB As New DataClassesDataContext

DB.AddNew(User,Pass)

Catch ex As Exception

End Try



RAISERROR('message', severity,state)


شدت یاseverity عددی بین 0 تا 25 می باشد که 0-18 مربوط به کاربران عادی و 19-25 مربوط به sysadmin هست که اعداد 11-18 حتما باعث افتادن به catch و قطع اجرای دستورات sql داخل پروسیجر میشه.
و state هم موقعیت خطا رو نشون میده وقتی که داخل پروسیجر چندین بار از این دستور استفاده بشه برای تشخیص مکان خطا کاربرد داره


-----------------------------------
http://www.kohan-co.net