PDA

View Full Version : نگهداری رکوردهای ذخیره شده



Morteza Manafpour
دوشنبه 03 اسفند 1383, 21:29 عصر
با سلام
من یک برنامه بانک اطلاعاتی با اسکیوال نوشتم و اطلاعات هم در جداول به هم پیوند خوردند. می‌خواهم وقتی یک رکورد مربوط به یک شخص رو حذف کردم کاملا حذف نشوند و به عنوان بایگانی نگهداری شوند البته فاکسپرو یه چنین کاری رو خودش انجام می‌ده ولی در مورد sql اطلاعی ندارم لطفا یه راه‌حل خوب بگیین البته اشکال فضای رکوردهای حذف شده برای من مشکلی ندارد فقط باید اونارو نگهداری کنم و در مواقع خواص نمایش بدم

Morteza Manafpour
جمعه 06 خرداد 1384, 21:46 عصر
از دوستان را‌ه‌حلی برای این کار ندارن ::نوشتن::

hadi2345
جمعه 06 خرداد 1384, 22:39 عصر
با سلام .
من هم یک بار همین مشکل رو داشتم و مجبور شدم که اطلاعاتی رو که پاک میکنم تو یک جدول دیگه به عنوان بایگانی اطلاعات ذخیره کنم .

Behrouz_Rad
جمعه 06 خرداد 1384, 23:20 عصر
سعی کنید از اصول کار پیروی کنید.
در حذف موقت رکوردها، یک فیلد اضافه در بانک ایجاد می شود.
در هنگام حذف موقت رکورد، مقدار این فیلد به یک تغییر پیدا می کند.
در هنگام انجام عملیات یا نمایش رکوردها، اعمال تنها بر روی رکوردهایی اعمال می شود که فیلد ذکر شده آنها، صفر باشد.
موفق باشید.
:wise1:

Morteza Manafpour
جمعه 06 خرداد 1384, 23:34 عصر
می‌شه با مثال توضیح بدین
من هم این مورد رو به عینه در Foxpro دیدم ولی تا حالا در Access یا Sql ندیدم :sunglass:

Behrouz_Rad
شنبه 07 خرداد 1384, 00:11 صبح
مثال لازم نیست.
یک فیلد با هر نامی که دوست داشتید در بانک درست کنید و .........
خیلی واضحه.
نیاز به توضیح بیشتر نداره. :)

niloufar
شنبه 07 خرداد 1384, 13:15 عصر
سلام
در تکمیل فرمایش آقای راد (البته ایشان فرمودند که نیاز به توضیح بیشتر نداره):
یه فیلد داشته باشید مثلا به نام Status یا myType یا ... که مثلا اشخاصی که به سیستم اضافه میکنید را با Type برابر CUR (مخفف Current) اضافه کنید. حال هر وقت یه شخص را خواستید بطور موقت پاک کنید، به جای استفاده از Command از نوع Delete بیایید و این فیلد از آن رکورد را مثلا برابر DEL قرار بده. هر وقت هم که خواستی لیستی از اشخاص را نشون بدی یه 'Where myType <> 'DEL هم در Select قرار بده.

Morteza Manafpour
شنبه 07 خرداد 1384, 23:06 عصر
البته من خودم از این روش استفاده کرده‌ام ولی می‌خواستم ببینم روش اصولی‌تری برای این کار هست یا نه که اگه حالا روشش این باشه کار من درست بوده ولی اگه یه روش دیگه‌ای وجود داره ما سراپا آمادگی شنیدن مطالب مفید شما هستیم
باتشکر از همه دوستان که مرا راهنمایی کردند ::نوشتن::

hadi2345
شنبه 07 خرداد 1384, 23:31 عصر
با سلام .
روش جالبی بود . ولی اگه مثلا بخوایم تو جدول اون افرادی رو که میخوایم حذف میکنیم یکی دو تا فیلد جدید
اضافه کنیم یا یکی دو تا فیلد حذف کنیم اون موقع باید از یه جدول دیگه کمک بگیریم . نمیدونم تونستم منظورمو برسونم یا نه . لطفا دوستان بهم بگن که این روش اشتباهه یا نه؟

niloufar
دوشنبه 09 خرداد 1384, 15:06 عصر
سلام

البته من خودم از این روش استفاده کرده‌ام ولی می‌خواستم ببینم روش اصولی‌تری برای این کار هست یا نه که اگه حالا روشش این باشه کار من درست بوده ولی اگه یه روش دیگه‌ای وجود داره ما سراپا آمادگی شنیدن مطالب مفید شما هستیم
1- خدا را شکر.
2- روش که اصولیه، نمیدونم اصولیتر!! هم هست یا نه


روش جالبی بود . ولی اگه مثلا بخوایم تو جدول اون افرادی رو که میخوایم حذف میکنیم یکی دو تا فیلد جدید
اضافه کنیم یا یکی دو تا فیلد حذف کنیم اون موقع باید از یه جدول دیگه کمک بگیریم . نمیدونم تونستم منظورمو برسونم یا نه . لطفا دوستان بهم بگن که این روش اشتباهه یا نه؟
منظورتون از فیلد، همون رکورد است یا واقعا منظورتون فیلد است. من که چیزی از مساله هم سر در نیاوردم چه رسد به حلش. لطفا بیشتر توضیح دهید.