PDA

View Full Version : سوال: چگونه مطمئن شویم که اطلاعات در جدول درج شده اند؟



HosseinTorab
شنبه 18 خرداد 1392, 18:32 عصر
سلام من یک سری اطلاعات دارم که با دستور زیر در asp در جدول درج میکنم
حالا می خوام یک پیغام بگیرم که از درج شدن اطلاعات مطمئن بشم چرا که ممکنه در حین درج، اطلاعت fail بشن

db.TBL_PERSONELs.InsertOnSubmit(x);
db.SubmitChanges();

tooraj_azizi_1035
شنبه 18 خرداد 1392, 19:09 عصر
Northwnd db = new Northwnd(@"c:\northwnd.mdf");
// Make changes here.
try
{
db.SubmitChanges();
}
catch (ChangeConflictException e)
{
Console.WriteLine(e.Message);
// Make some adjustments.
// ...
// Try again.
db.SubmitChanges();
}

mo.esmp
یک شنبه 19 خرداد 1392, 00:03 صبح
فکر نکنم استفاده از try catch در این حالت منتقی باشه چون وقتی که اتلاعات رو واسه سبت در دیتابیس میفرستیم انتزار داریم که همه چی Ok باشه و هیچ ختایی رخ نده پس اون Make some adjustments که شما نوشتی قابل پیاده سازی نیست چون علت ختا همیشه قابل پیش بینی نیست. استفاده از TransactionScope بهتر و منتقی تر است.

صباح فتحی
یک شنبه 19 خرداد 1392, 00:35 صبح
فکر نکنم استفاده از try catch در این حالت منتقی باشه چون وقتی که اتلاعات رو واسه سبت در دیتابیس میفرستیم انتزار داریم که همه چی Ok باشه و هیچ ختایی رخ نده پس اون Make some adjustments که شما نوشتی قابل پیاده سازی نیست چون علت ختا همیشه قابل پیش بینی نیست. استفاده از TransactionScope بهتر و منتقی تر است.
اگه منطقی نبود که مایکروسافت خودش پیشنهاد نمیداد.http://msdn.microsoft.com/en-us/library/bb399378.aspx

mo.esmp
یک شنبه 19 خرداد 1392, 01:16 صبح
مایکروسافت در توزیح ChangeConflictException نوشته: Thrown when an update fails because database values have been updated since the client last read them. این استسنا زمانی رخ میده که مشکل Concurrency پیش بیاد که تو این لینک (http://msdn.microsoft.com/en-us/library/system.data.linq.changeconflictexception.aspx) براش ١١تا مسال زده که چتوری بشه باهاش سرو کله زد تازه حالا ممکنه استسناهای دیگەای هم رخ بده که شما باید اونا رو هم پیش بینی کنید حالا شما چتوری میخاید که همەی این استسناها رو درست کنید و دوباره اتلاعات رو برای سبت بفرستید ؟
بحس من سره اینه // Make some adjustments.
// ...
// Try again.
db.SubmitChanges();
اگه شما میتونید این قسمت رو بنویسید که من خیلی ممنون میشم.
عنوان تاپیک اینه که چگونه مطمئن شویم که اطلاعات در جدول درج شده اند. فرز کنید اتلاعات برای سبت به سرور فرستاده شده و استسنایی در داخل خود SqlServer پیش بیاد یا مسلن سرور خاموش بشه شما اینو چتوری متوجه میشید ؟ برای همین میگم استفاده از TransactionScope منتقی تره.

tooraj_azizi_1035
یک شنبه 19 خرداد 1392, 12:05 عصر
ولی خودمونیم حسش نیست املای کلمات رو رعایت کنی.:بامزه:
ChangeConflictException می تونه به Exception تغییر پیدا کنه.