PDA

View Full Version : استفاده از دستور try و catch برای ثبت و آپدیت



vapa_71
دوشنبه 16 بهمن 1391, 10:24 صبح
سلام دوستان میخواستم بدونم این نوع دستور اصولا درست هست؟ و یا بعدا مشکلی پیش نمیاره ؟



try
{
دستورات ثبت داده
}

catch
{
دستورات آپدیت
}

جدول من 1 رکورد داره که 2 تا فیلد داره مثلا ID و Name
حالا با این دستور میخوام اگه رکوردی وجود نداشت که مثلا ID رو 1 بگیره و نام رو هم مثلا Biosoft ثبت کنه
حالا دیگه کاربر اجازه داره فقط نام رو آپدیت کنه که مسلما ID برابر 1 هست

اصولا این دستور درسته یا خیر

HellisH
دوشنبه 16 بهمن 1391, 10:52 صبح
به نظر من که درست نیست try -catch کارش اینه که خطا رو برای شما بگیره نه اینکه به عنوان business ازش استفاده بشه
شما خودتون باید bussinessتون رو اداره کنید
فرض کندی داخل catch و دستو update خطا بگیرید اون موقع چی؟

vapa_71
دوشنبه 16 بهمن 1391, 13:10 عصر
خب میشه یک راه کار ارائه بدین؟

FreeMagic
دوشنبه 16 بهمن 1391, 13:51 عصر
اتفاقا فکر خوبیه
میتونه از tryهای تو در تو استفاده کنه
try
{
insert
}
catch {
if (شرط) { try {
update
} catch {
}
}
}
توی try اول دستورات ثبت
توی try دوم دستورات اپدیت
و شرط هم برای این که اگه رکورد از قبل وجود داشت بره برای اپدیت چون ممکنه خطا از چیز دیگه ای باشه نه تکراری بودن رکورد

pedramfj
دوشنبه 16 بهمن 1391, 17:06 عصر
سلام دوستان میخواستم بدونم این نوع دستور اصولا درست هست؟ و یا بعدا مشکلی پیش نمیاره ؟



try
{
دستورات ثبت داده
}

catch
{
دستورات آپدیت
}

جدول من 1 رکورد داره که 2 تا فیلد داره مثلا ID و Name
حالا با این دستور میخوام اگه رکوردی وجود نداشت که مثلا ID رو 1 بگیره و نام رو هم مثلا Biosoft ثبت کنه
حالا دیگه کاربر اجازه داره فقط نام رو آپدیت کنه که مسلما ID برابر 1 هست

اصولا این دستور درسته یا خیر

سلام
با یک Stored Procedures میشه این کار رو بصورت اصولی انجام
شما در بدنه Stored Procedures کنترل کنید که آیا این اطلاعات قبلا در جدول وجود دارد یا خیر. اگر وجود داشت آپدیت انجام بده در غیره این صورت درج...
اگر تمایل دارید از این روش استفاده کنید . بگید یه کد برای راهنمایی قرار بدم...
موفق باشید