PDA

View Full Version : سوال: اطمینان از ورود کامل اطلاعات به دیتا بیس



sajad_3066
سه شنبه 30 فروردین 1390, 00:31 صبح
با سلام
من میخوام مقادیری از یه table رو update کنم شروع به انجام عملیات که میکنم به هر دلیلی عملیات نیمه تموم میمونه و در حالی که مقداری از data هام update شدن و مقادیری نشدن
چطوری میتونم از این مشکل جلوگیری کنم که اگه خدایی نکرده اطلاعاتم ناقص update شد به data هام اسیبی نرسه
مخلص کلامم اینه :
یا یه کاری انجام نشه یا اگه انجام میشه کامل انجام بشه
ممنون

alen332
سه شنبه 30 فروردین 1390, 07:18 صبح
سلام " update به دو روش سيستمي و دستي انجام ميشه سيستمي مربوط به تغييرات دستي پايگاه داده و انتخاب گزينه update در پايگاه داده هست روش دوم update با روش كد نويسي و تغيررات در ساختار داده در بانك اطلاعاتيه حالا روش شما در update كدومه تا راهنمايي كنم

f4rib0rz
سه شنبه 30 فروردین 1390, 12:08 عصر
خب کل اون قطعه کد برای update شدن رو بذار تو try catch با همش اجرا میشه یا هیچ کدوم . بازم بستگی به کدی که نوشتی داره اگه اینطوری جواب نگرفتی کدت رو بذار اینجا ببینم .

sajad_3066
شنبه 03 اردیبهشت 1390, 01:26 صبح
سلام " update به دو روش سيستمي و دستي انجام ميشه سيستمي مربوط به تغييرات دستي پايگاه داده و انتخاب گزينه update در پايگاه داده هست روش دوم update با روش كد نويسي و تغيررات در ساختار داده در بانك اطلاعاتيه حالا روش شما در update كدومه تا راهنمايي كنم
update به روش کد نویسی هستش اگه try catch هم بزارم بازم فایده نداره
شما این جوری فرض کن که update مقادیرش درسته پس در این حالت try catch کارساز نیست فرض رو بر این بگیریم که وسط کار برق قطع شه اون موقع نصفه update می شه که من نمی خوام این جوری باشه

میلاد قاضی پور
شنبه 03 اردیبهشت 1390, 02:12 صبح
اصل "همه یا هیچ" در سیستمهای پایگاه داده ای رعایت میشه . یعنی یک تراکنش در پایگاه داده وقتی کامیت میشه (عملیات تمام میشه ) تغییرات در دیتابیس ثبت میشه وگرنه تغییری در سطر مربوطه به وجود نمیاد .پس قبل از پایان عملیات اگه برق بره کامیتی انجام نمیشه . درنتیجه دیتابیس هم تغییر نمیکنه . پس داده ای هم آسیب نمیبینه .

alen332
یک شنبه 04 اردیبهشت 1390, 09:32 صبح
اگه مشكل مربوط به قطع سيستم مي شه دوستمون " آقاي قاضي پور درست گفته" در ضمن اينم كد update


{
obj_command.CommandText = "UPDATE Issar2 " +
"SET Issar_Id=@Issar_Id,Name=@Name,F_Name=@F_Name,Issar _Type=@Issar_Type,Issar_Percent=@Issar_Percent,Bac kground=@Background,Address=@Address,Tel_No=@Tel_N o " +
"WHERE Issar_Id=@Issar_Id";
obj_command.CommandType = CommandType.Text;
obj_command.Parameters.AddWithValue("@Issar_Id", strIssar_Id);
obj_command.Parameters.AddWithValue("@Name", strName);
obj_command.Parameters.AddWithValue("@F_Name", strF_Name);
obj_command.Parameters.AddWithValue("@Issar_Type", strIssar_Type);
obj_command.Parameters.AddWithValue("@Issar_Percent", strIssar_Percent);
obj_command.Parameters.AddWithValue("@Background", strBackground);
obj_command.Parameters.AddWithValue("@Address", strAddress);
obj_command.Parameters.AddWithValue("@Tel_No", strTel_No);
obj_connect.Open();
obj_command.ExecuteNonQuery();