PDA

View Full Version : ارسال اطلاعات تغییر یافته



daffy_duck376
چهارشنبه 01 اسفند 1386, 11:59 صبح
سلام دوستان
اگر یک برنامه در چند محل استفاده میشود که با هم شبکه نیستند بخواهیم در پایان هر روز فقط رکورد های تغییر یافته را برای به روز رسانی سایر سیستم ها برای آنها ارسال کنیم یعنی اگر فرض کنیم امروز سه رکور اضافه شده و 5 رکود تغییر یافته ما فقط آنها ارسال کنیم و کل دیتابیس را برای آنها نفرستیم . چطور این کار را میتوان انجام داد ؟

SYNDROME
چهارشنبه 01 اسفند 1386, 18:48 عصر
ساده ترین راه حل استفاده از یک فیلد Bit است که اگر رکوردی تغییر کرد و یا اضافه شد مقدار آن 1 شود و بعد از ارسال مقدار آن به 0 تغییر کند.
موفق باشید

rmb_ali
چهارشنبه 01 اسفند 1386, 19:56 عصر
میتونی یه فایل log هم درست کنی و نام جدول و مقدار کلید جدول رو ذخیره کنی و یه فیلد هم داشته باشی که bit باشه و وقتی رکوردها رو بروز کردی اونو فالس یا ترو کنی البته راهی که دوستمون تو پست قبلی گفت ساده تره ولی تو این روش سوابق بروز رسانی رو هم همیشه داری

vcldeveloper
چهارشنبه 01 اسفند 1386, 23:02 عصر
به این حالت میگن حالت Brief Case. دیتاست هایی مثل ClientDataSet کاملا از این حالت پشتیبانی می کنند. نیاز هم نیست خودتون از این راهکارهای ابتکاری استفاده کنید. در واقع ClientDataSet میتونه بصورت Disconnected با داده ها کار کنه و هر زمان که لازم شد، با ApplyUpdates فقط تغییرات رو به سرور منتقل کنه. البته ADO هم تا حدودی این امکان رو داره. فکر کنم قبلا درباره اش بحث کرده باشیم.

farhad110
پنج شنبه 02 اسفند 1386, 10:45 صبح
با سلام. اگر یک رکورد توسط دو نفر با دو مقدار متفاوت ویرایش شده باشه یا دو رکورد با یک کلید یکسان اضافه شده باشه، چطور میشه کنترل کرد که clientdataset آخرین تغییر رو ثبت کنه؟

vcldeveloper
پنج شنبه 02 اسفند 1386, 15:07 عصر
اگر یک رکورد توسط دو نفر با دو مقدار متفاوت ویرایش شده باشه یا دو رکورد با یک کلید یکسان اضافه شده باشه، چطور میشه کنترل کرد که clientdataset آخرین تغییر رو ثبت کنه؟
با استفاده از رویداد OnReconcileError .

farhad110
پنج شنبه 02 اسفند 1386, 15:30 عصر
با استفاده از رویداد OnReconcileError
لطفا بیشتر توضیح بدید

vcldeveloper
پنج شنبه 02 اسفند 1386, 16:29 عصر
لطفا بیشتر توضیح بدید
روش که F1 بزنید، Help دلفی با جزئیات کامل همراه با مثال توضیح داده. اگر اونو خوندید و باز هم مشکل داشتید، مشکل را کامل مطرح کنید.