باید روی کلاینت ها یک function نوشته شود که جدول اصلی سرور یا Sql server رو رفرش کند و قبل از ثبت اطلاعات و فرستادن به جدول اصلی چک بشه که این اطلاعات تکراری هست یا نه.
مثالی که خود دلفی برای datasnap دارد به همه ی این ها توجه کرده است،اعم از رفرش بانک اطلاعاتی.
این function رو یک تایمر داخل کلاینت باید بر عهده بگیرد که هر چند ثانیه و یا هر چند دقیقه بانک اطلاعاتی رو رفرش کند.
یا میتوان بجای function داخل کلاینت روی سرور،داخل برنامه اصلی این کار رو به عهده یک تایمر گذاشت که بانک اطلاعاتی رو رفرش کند.(این طوری بهتر هست)
من خودم برای پروژه های datasnap یا از access استفاده میکنم یا sql server و در مواقعی که از sql server استفاده میکنم.فقط سرور رو به sql متصل میکنم،و رفرش بانک رو هر 30 ثانیه انجام میدهم.(تنها مشکل این روش،اینکه سرور درگیر تایمر و حلقه های پشت سرهم زمانی که حجم اطلاعات و رکورد ها زیاد هست میشه که،اون هم با خاموش و روشن کردن تایمر جلوی اون رو گرفتم و هیچ وقت دوبار تایمر روی هم اجرا نمی شوند که رَم رو درگیر بکنند.)