PDA

View Full Version : پیاده سازی Redo و Undo



koorosh-kabir-2564
شنبه 13 خرداد 1385, 09:44 صبح
چه طوری میشه به وسیله book mark برای جداول undo & redo نوشت یعنی مثلا اگر کسی از جدول چیزی حذف کرد بتونه اونو برگردونه

merced
شنبه 13 خرداد 1385, 09:55 صبح
فک کنم bookmark فقط به درد ژیمایش بخوره نه اینکه حذف کردن رو برگردونه ؟؟؟؟

بعدشم . برای Redo کردن حذف می تونی برای هر رکورد یه فیلد بذاری (عددی) که اگه حذف شد یه شماره (از همون جدول بزرگترین شماره فیلد حذف + 1) رو بهش تخصصیص بده ولی حذف نکنه (مثل حذف منطقی )

موقع undo اونی که بزرگترین شماره رو داره از حالت حذف منطقی در آری (مثلا NULL یا صفر رو به اون فیلده اختصاص بدی)

کسی نمیدونه چه جوری با دستور Delete (مربوط یه SQL ) حذف منطقی میشه انجام داد ؟؟
فکر می کنم سوال کوروش هم همین باشه...
البته تو ACCESS واقعاً حذف منطقیه (تا وقتی Compact نکنی)
حالا سوالم ایینه که چه جوری اونا رو نشون بدیم (اونایی که حذف شده اند) و یا برگردونیم.
ثانیاً تو SQL Server چه جوریه

B_YAGHOBI
شنبه 13 خرداد 1385, 11:01 صبح
در SQL Server هم اگر Recovery خود را بصورت FULL قرار دهید تمام عملیات شما LOG میشود
دستورات Insert , Update , Delete

از فایل MDF بصورت فیزیکی حذف میشود ولی اطلاعات شما را LDF بصورت LOG شده نگهداری میشود.

این سیستمی است که Transaction ها از آن استفاده میکنند (یا همه یا هیچکدام)
یعنی با شروع Transaction یک مارک در Log ذخیره میشود بعد تمامی عملیات شما دستور به دستور اجرا میشود درصورت موفقیت آمیز بودن که هیج ولی اگر خطایی در یکی از دستورات
اتفاق بیافتد از آخرین دستورات شروع به برگرداندن میشود تا جایی که مارک خورده.

البته این عملیات توسط خود SQL Server انجام میشود

و شما برای اینکه بتوانید رکوردی را که قبلا حذف کرده اید برگردانید برنامه های حاصی مثل LogExplorer هستند که اطلاعات Log را به شما نشان میدهند و شما میتوانید از آنها استفاده کنید.

mzjahromi
شنبه 13 خرداد 1385, 16:59 عصر
چگونه میشود در دلفی برای table ها undo و redo قرارداد؟ (http://www.barnamenevis.org/forum/showthread.php?t=47080&highlight=undo)
دوست عزیز سعی کنید تاپیک تکرار ایجاد نکنید.