الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماذا تعرف عن التحديثات المخفية: CashedUpdates ؟

مغلق
بدأه الشريف بشير في 24 فبراير 2007 · 3 رد · 831 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

مقدمة سؤال:

التحديثات المخفية: CashedUpdates

توجد هذه الخاصية ضمن خصائص مكونTable و Query الموجودة ضمن مجموعة الBDE .

تؤهلك التحديثات المخفية أن تتحكم بلحظة تطبيق التحريرات على قاعدة البيانات، يتم التحكم بها باستخدام خاصية CashedUpdates. عندما تتاح التحديثات المخفية، فإنه لا يتم مباشرة كتابة التغييرات على السجلات إلى قاعدة البيانات. بدلاً من ذلك، تتم كتابة التغييرات إلى ذاكرة تحديث مخفية في الجهاز المحلي. يتم الاحتفاظ بالسجلات في الذاكرة المخفية حتى تقوم أنت باستدعاء المنهج ApplyUpdates. للتخلي عن أية تغييرات في ذاكرة التحديث المخفية قم باستدعاء المنهج CancelUpdates. وقم بحذف التحريرات المنجزة على السجل الحالي باستدعاء منهج RevertRecordعند تعطيل خاصية CashedUpdates بجعلها false ، تتم كتابة أية تغييرات تنجز على سجل في قاعدة البيانات...

من أهم حسنات التحديثات المخفية هي:

• أن العميل في قواعد بيانات client/Server يستطيع العمل مع نسخة محلية من مجموعة بيانات وتعديلها عند الحاجة ومن ثم كتابة التحريرات جميعها إلى قاعدة البيانات.

• تخفيض زمن إقفال السجل إلى فترة قصيرة جداً من الزمن {يحدث قفل السجل من قبل قاعدة البيانات عند وضعية التحرير الفعال من قبل أحد المستخدمين.

• أن المستخدم يستطيع القيام بتغييرات عديدة في مجموعة بيانات ومن ثم تنفيذ Apply لجميع التغييرات أو التراجع Cancel عنها.

• يمكن لعدة مستخدمين أن يعملوا بنفس السجل في نفس الوقت. .

المرجع// بتصرف من كتاب Borland Delphi 4 تأليف كنت ريزدورف- الدار العربية للعلوم..

يوجد مثال يطبق هذه الخاصة بشكل جيد يأتي مع نسخة 7 Delphiباسم MastApp بالتحديد أنظر إلى الشفرة الموجودة ضمن أحداث مكون الـ Table الموجود باسم Order.

خاصية CashedUpdates توجد في المكونTable وQuery وغير موجودة بالمكون ADOQuery ولكني وجدت خاصة أخرى باسم CashSize لم استطع التعامل معها!!

سؤالي لإخوتي المحترفين : هل يوجد بديل عن هذه الخاصية في المكون ADOQueryبحيث تغنيني عن استخدام مكونات الBDE التي تتملك هذه الخاصية؟

أرجوا لكم التوفيق

والسلام عليكم

:rolleyes: :rolleyes: :rolleyes:

#2

السلام عليكم

لا توجد خاصية مباشرة ولكن تستطيع استعمال dataset وتضع commandtext لاستفسار ويجب ان تضع خاصية Locktype على ltBatchOptimistic

وعند الانتهاء من التحرير كا تغير قيم معينه في dbgrid مثلا يجب ان تصدر امر يحتوي على updatebatch و CancelBatch

وبهذه الطريقه تستطيع ان تتراجع او تثبت التغيرات

ارجوا هذا يكون مفيد لك

#3

السلام عليكم ورحمة الله وبركاته

لمن لم يفهم الشرح هذا مثال مرفق

بالتوفيق ان شاء الله

rm31.zip

تم تعديل هذه المشاركة بواسطة rm31 في 25 فبراير 2007 في 12:55

عن ‏ ‏أسامة بن زيد قال: ‏قال رسول الله - ‏صلى الله عليه وسلم -: ( من صنع إليه معروف فقال لفاعله جزاك الله خيرا فقد أبلغ في الثناء ) .

رواه الترمذي و قال ‏هذا ‏ ‏حديث حسن جيد غريب.

و صححه العلامة الألباني في صحيح الترغيب

www.sahab.net

#4

السلام عليكم

شكرا على المثال ...ولكن لا ينطبق على المطلوب؟ وهو ADO؟

عموما هذا المثال المرفق يوضح خاصيه Batch

تستطيع ان تحذف او تغير عده سجلات وتستطيع ان تتراجع عن جميع التغيرات ايضا مبني على ADO

وشكراا

Project1t.zip

تم تعديل هذه المشاركة بواسطة pc.2058 في 25 فبراير 2007 في 21:23

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…