PDA

View Full Version : ایجاد RecycleBin در پروژه



ASPX
پنج شنبه 23 اسفند 1386, 09:52 صبح
سلام دوستان
یک پروژه داریم که میخواهیم براش RecycleBin هم ایجاد کنیم. در مورد طراحی RecycleBin برای سایت ایده .. نظر.. لینک دارید لطفا بفرمایید

مرسی

merlin_vista
پنج شنبه 23 اسفند 1386, 10:25 صبح
اگه میخواهی برای یک جدول در بانک اطلاعاتی RecycleBin درست کنی باید با استفاده از تریگر اطلاعاتی پاک شده از جدول A را در جدول B ( که همان سطل زباله میباشد RecycleBin ) درج کنی .
فعلاً همین به ذهنم رسید . ولی به دقبقاً بگو میخواهی چیکار کنی تا بهتر بشه راهنمای کرد و در موردش بحث کنی !!!!!

ASPX
پنج شنبه 23 اسفند 1386, 10:52 صبح
مرسی

اگه cms هایی مثل جوملا را دیده باشی یه سطل زباله دارند که اطلاعات رو میشه بازیابی کرد یه همچین چیزی میخوام

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

merlin_vista
پنج شنبه 23 اسفند 1386, 11:19 صبح
برای آرشیو کردن تصاویر و فایلها آنها را میتونی بریزی توی یه پوشه با استفاده از (system.io.file.move) و هر وقت خواستی بازیابی کنی ! آنها را به پوشه اصلی انتقال بدی . و اگر از آنجا پاک کرد که دیگه system.io.file.delete را اجراش کنی که کامل پاک بشه ....

برای بانک هم که همان تریگر به نظر میرسه و بس !!!

یکم روش کار کنی میشه یه چیز خوب از آب در بیاری

mohsen_zelzela00
پنج شنبه 23 اسفند 1386, 11:50 صبح
برای آرشیو کردن تصاویر و فایلها آنها را میتونی بریزی توی یه پوشه با استفاده از (system.io.file.move) و هر وقت خواستی بازیابی کنی ! آنها را به پوشه اصلی انتقال بدی . و اگر از آنجا پاک کرد که دیگه system.io.file.delete را اجراش کنی که کامل پاک بشه ....

برای بانک هم که همان تریگر به نظر میرسه و بس !!!

یکم روش کار کنی میشه یه چیز خوب از آب در بیاری

دوست عزیز میشه یه خورده بیشتر توضیح بدید چون برای من هم جالب شد

merlin_vista
پنج شنبه 23 اسفند 1386, 15:08 عصر
کار ساخت RecycleBin کار سختی نیست :

برای اطلاعات جدول در بانک اطلاعاتی
برای اطلاعات جدول میتوانید با استفاده از تریگر و حالات Delete آن را میتوانی طوری بنویسی که اگر در جدول A رکوردی پاک شد آن را به جدول tb_RecycleBin انتقال بده . (اگه کد نریگر را نمیدانی بگو که بگزارم البته با جستجو هم میتونی بهش برسی ) . پس تا اینجای کار برای جدول در بانک اطلاعاتی یک RecycleBin ساختیم .

برای اطلاعات روی سرور
شما در برنامه خود به عنوان مثال یک فایل منیجر دارید که عملیات حذف فایل فایل ها را برای شما انجام میدهید . پس برای این کار از System.io.file.delete استفاده میکنید .
حال برای ساخت RecycleBin شما به جای حذف فایل آن را به یک فلدر دیگر انتقال میدهید . به همین راحتی .

برای Restor کردن RecycleBin میتوانید فایل ها را به فلدر قبلی برگردانبد و اطلاعات جدول را دوباره در جدول قبلی insert کنید .

البته ممکن راه های دیگر و بهتری هم وجود داشته باشه . ولی راهی که به نظر من رسید این بود .....

ASPX
پنج شنبه 23 اسفند 1386, 18:41 عصر
اگه کد تریگر رو اینجا بزاری که عالی میشه
در ضمن از راهنماییها هم خیلی ممنون

merlin_vista
پنج شنبه 23 اسفند 1386, 22:08 عصر
کد تریگر برای درج از جدول A در جدول B در همگام Delete :

CREATE TRIGGER [TriggerDelete]
ON [dbo].[A]
FOR Delete
AS

Insert into B
select * from deleted

نکته : با سرچ هم زود تر و هم کامل تر بهش میرسیدی !!

mehrpars
جمعه 24 اسفند 1386, 12:16 عصر
راحتترین کار اینه که یک ستون مثلا ازجنس bool به table هات اضافه کنی و وقتی حذف میکنی مقدار اون مثلا false شه تا توی recycle بره , از recycle هم که حذف کردی رکورد بطور کامل حذف شه

merlin_vista
جمعه 24 اسفند 1386, 21:27 عصر
راحتترین کار اینه که یک ستون مثلا ازجنس bool به table هات اضافه کنی و وقتی حذف میکنی مقدار اون مثلا false شه تا توی recycle بره , از recycle هم که حذف کردی رکورد بطور کامل حذف شه

ولی این کار یه مشکل داره که بار جدول زیاد میشه ! :متفکر:

mahdi_farhani
جمعه 24 اسفند 1386, 21:43 عصر
درسته حجم دیتا بیس بالا میره ولی روشه خیلی خوبه .
حتس تو سیستم عامل ها هم از این روش استفاده میشه ، یعنی شما وقتی یک فایلو حذف میکنی عملاً حذف نمیشه بله فلگ Delete فعال میشه و هنگام کپی و یا ایجاد فایل سیستم عامل بر روی محلی که فلگ حذف آن True باشه Owerrite میکنه .
به همین دلیل هم هست که بعضی از نرم افزارهای میتونن فایل از دست رفته رو Recovery کنن .

Chabok
شنبه 25 اسفند 1386, 01:30 صبح
درسته حجم دیتا بیس بالا میره ولی روشه خیلی خوبه .
حتس تو سیستم عامل ها هم از این روش استفاده میشه ، یعنی شما وقتی یک فایلو حذف میکنی عملاً حذف نمیشه بله فلگ Delete فعال میشه و هنگام کپی و یا ایجاد فایل سیستم عامل بر روی محلی که فلگ حذف آن True باشه Owerrite میکنه .
به همین دلیل هم هست که بعضی از نرم افزارهای میتونن فایل از دست رفته رو Recovery کنن .
*** بی ربط به تاپیک ***
با سلام
البته به این سادگی هم نیست که مثل Flag باشه .هنگام پاک کردن فایل در اصل نام فایل و آدرس اون از توی File Allocation Table یاهمون FAT پاک میشه و برنامه های Recovery هم به این سادگی عمل نمیکنن
موفق باشید .

mehrpars
جمعه 09 فروردین 1387, 21:09 عصر
ولی این کار یه مشکل داره که بار جدول زیاد میشه ! :متفکر:
ولی هزینش کمتره