مشكلة في تحديث البيانات على الأجهزة المربوطة على شبكة
#13
(13-04-2016, 10:11 PM)MOUMEN78 كتب : الكمية الحقيقية 10
نبيع على الجهاز الأول 3 تبقى 7
والجهاز الثاني 2 تبقى 8
مجموع البيع 5 من المفروض تبقى الكمية 5
حتما تستخدم مكون Table تفتحه عند التنفذ وتبقه كذلك
لنعد للمشكل:
عند الحذف تاخذ الكمية التي كانت عند فتج الجدول 10 والتي قد تكون تغيرت وهنا الخطأ
تنقص منها 3 وتحفظ 7 بالجدول
في الجهاز الاخر تكون بقيت 10 دون تحديث، عند بيع 2 تنقصها تبقى 8 التي تحفظها بالجدول دون اي تحقق وهنا نفس الخطأ السابق
مشكلة الكثير انه يقوم بانشاء برنامج وربطه بقاعدة بيانات و عندما ينتهي يحاول استخدامه بأكثر من جهاز مربوط بنفس قاعدة البيانات وهنا الخطأ، اي منظومة تعمل على شبكة يفر فيها قبل حتى تصميم قاعدة البيانات. لذلك قلت للسائل عليك بقرأة كتب قواعد البيانات لتفهم على الاقل كل توثيق Firebird مثلا وتفهم معنى مثل Stored Procedures / Triggers / Events / Transactions

الحلول:
- تتحقق من قيمة الكمية قبل الحفظ: مثلا عند بيع 3 تستخدم استعلام sql لتخذ قيمة الكمية، ان كانت كافية استعلام اخر للتعديل وانقاص 3 من نتيجة الاستعلام السابق، ثم التحقق من النتيجةى مرة اخرى.
- تحذف كل مكونات Table التي ببرنامجك وتغيرها بQuery تفتح عند الاستعمال وتغلق بعدها ما مراعات التحقق
- تستخدم ُEvents كما اقترج اخي Unprogramme
- تستدعي Refresh قبل اي تعديل على البيانات
- تستخدم stored procedure تمرر لها الكمية وهي تتكفل بالتحقق وانقاصها
- هناك حلول اخرى...حسب قاعدة البيانات/المشروع (البرنامج المطور)...لا يوجد حل مطلق.
راجع رد سابق لبعض الافكار

http://delphi4arab.net/forum/showthread....8#pid37638
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
[-] كل من 1 user says قال شكرا ل محمد عبد العزيز على المشاركة المفيدة
  • wadoud
الرد


الردود في هذا الموضوع
RE: مشكلة في تحديث البيانات على الأجهزة المربوطة على شبكة - بواسطة محمد عبد العزيز - 14-04-2016, 08:53 AM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم