تحديث البيانات على شبكة
#1
السلام عليكم افكر في جعل برنامجي يعمل على شبكة محلية و افكر في طريقة تحديث البيانات على شبكة قرأت عن FireBird Events المشكل اني استخدم DBExpress فلسلفة DBExpress هي دعم اكبر عدد من قواعد البيانات بما ان Events ليست مشتركة في جميع قواعد البيانات فلا يوجد مكونات من DBExpress لدعمها الان لدي حلول
تغيير البرنامج لاستخدام مكونات اتصال اخرى مثل FireDac و لا احبذ ذلك
جعل التحديث بطلب المستخدم
او الحل الذي اريد مناقشته هو انشاء اتصال اخر بالـ Zeos او FireDac و استخدام مكونات الـ Events الموجودة معها ما رأيكم في هذا الحل
كما اريد مناقشة تحديث البيانات على شبكة لمن لديهم تجربة في الامر
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد
#2
وعليكم السلام ورحمة الله
بالنسبة للمكونات التي ذكرتها هي جيدة وتفي بالغرض لو اعطيتها حقها من الوقت لكن صراحة UniDAC بالمرتبة الاولى قم بتجربته وان كنت لا تود تغيير Firebird استخدم IBDac بلا منه
بالنسبة للتحديث احسن شيئ ان تنقل الBusiness Logic داخل قاعدة البيانات، كل شيئ يتم باجراءات مخزنة بقاعدة البيانات.
بالتوفيق
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
الرد
#3
بارك الله فيك بالنسبة للـ الBusiness Logic هو كذلك اغلب العمل هو triggers و stored procedures
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد
#4
(15-06-2018, 08:19 AM)B.M.AbdelAziZ كتب : وعليكم السلام ورحمة الله
بالنسبة للمكونات التي ذكرتها هي جيدة وتفي بالغرض لو اعطيتها حقها من الوقت لكن صراحة UniDAC بالمرتبة الاولى قم بتجربته وان كنت لا تود تغيير Firebird استخدم IBDac بلا منه
بالنسبة للتحديث احسن شيئ ان تنقل الBusiness Logic داخل قاعدة البيانات، كل شيئ يتم باجراءات مخزنة بقاعدة البيانات.
بالتوفيق

Business Logic  هذه جديدة علي Tongue
ممكن شرح مبسط لما تعنيه هذه الجملة؟
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#5
Business Logic
منطق العمل : هو الجزء من البرنامج الذي يحدد كيف للبيانات ان تنشئ/تضاف/تحفظ/تغير/تحسب...
اذا كان كذا فان كذا، الIF لا تكون داخل البرنامج ولكن داخل قاعدة البيانات
مثال بسيط: الطابع الجبائي في فاتورة برنامج مبيعات كيف يحسب
الطابع يساوي دينار واحد لكل مائة دينار
اقل قيمة هي 5 دينار
اكبر قيمة هي 2500 دينار
كيف تقوم بحسابه في دلفي ؟

تنشئ اجراء مخزن، تمرر له المبلغ وهو يحب قيمة الطابع الجبائي، هنا منطق الحساب تم/موجود داخل قاعدة البيانات في الخادم وليس في برنامج الفاتورة في جهاز العميل.
ليس البرنامج من يمرر له، بل قاعدة البيانات بها Tigger اثناء/بعد اضافة السلع و/أو حفظ بيانات الفاتورة وفقط في حالة كانت طريقة الدفع نقدا
يعني تقريبا كل شيئ يكون داخل قاعدة البيانات، البيانات وماذا يحدث لها
باختصار استخدام الاجراءات المخزنة stored procedures وTriggers في قاعدة Firebird مثلا
البرنامج يبقى فقط كواجهة للمستخدم.
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
[-] كل من 2 users say قال شكرا ل محمد عبد العزيز على المشاركة المفيدة
  • أبو معاذ, h-farid
الرد
#6
إقتباس :تنشئ اجراء مخزن، تمرر له المبلغ وهو يجلب قيمة الطابع الجبائي

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

بقيت اجرب كثيرا حتى توصلت لها لوحدى ، لاول مرة اجعل ماهو ناحية قاعدة البيانات هو ناحية قاعدة البيانات هذه السنة فقط .
وعندها فقط ادركت مقدار التعب والارباك الذي كنا  نفعله في برمجة شئ بمكان واحد .
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
الرد
#7
(15-06-2018, 02:58 PM)B.M.AbdelAziZ كتب : Business Logic
منطق العمل : هو الجزء من البرنامج الذي يحدد كيف للبيانات ان تنشئ/تضاف/تحفظ/تغير/تحسب...
اذا كان كذا فان كذا، الIF لا تكون داخل البرنامج ولكن داخل قاعدة البيانات
مثال بسيط: الطابع الجبائي في فاتورة برنامج مبيعات كيف يحسب
الطابع يساوي دينار واحد لكل مائة دينار
اقل قيمة هي 5 دينار
اكبر قيمة هي 2500 دينار
كيف تقوم بحسابه في دلفي ؟

تنشئ اجراء مخزن، تمرر له المبلغ وهو يحب قيمة الطابع الجبائي، هنا منطق الحساب تم/موجود داخل قاعدة البيانات في الخادم وليس في برنامج الفاتورة في جهاز العميل.
ليس البرنامج من يمرر له، بل قاعدة البيانات بها Tigger اثناء/بعد اضافة السلع و/أو حفظ بيانات الفاتورة وفقط في حالة كانت طريقة الدفع نقدا
يعني تقريبا كل شيئ يكون داخل قاعدة البيانات، البيانات وماذا يحدث لها
باختصار استخدام الاجراءات المخزنة stored procedures وTriggers في قاعدة Firebird مثلا
البرنامج يبقى فقط كواجهة للمستخدم.

السلام عليكم ،
بارك الله فيك على التوضيح ،
الحمد لله منذ مدة وأنا استعمل Stored procedure and trigger ،
لكن أعجبتني فكرة

إقتباس :ليس البرنامج من يمرر له، بل قاعدة البيانات بها Tigger اثناء/بعد اضافة السلع و/أو حفظ بيانات الفاتورة وفقط في حالة كانت طريقة الدفع نقدا

 أنا أمرر الباراميترات عن طريق الدلفي .
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#8
إقتباس : أنا أمرر الباراميترات عن طريق الدلفي .

اخ ابومعاذ ، استخدم القوادح افضل سيكون اسرع العمل من داخل قاعدة البيانات نفسها .
مع انني ارى ان السرعة التي نتحدث عنها في جهاز محلي او شبكة محلية تكاد تكون معدومة وانما تؤثر لو كانت غير ذلك .
وايضا تتبع العلميات بداخل قاعدة البيانات نفسها ومراجعتها سيكون افضل من التنقل بين قاعدة البيانات والبرنامج .
من ناحية الترتيب والتنظيم سيكون افضل وجودها بقاعدة البيانات
والله اعلم هذا بحسب خبرتي المتواضعة
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
[-] كل من 1 user says قال شكرا ل Delphi4Us على المشاركة المفيدة
  • أبو معاذ
الرد


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


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