المشاركات : 975
المواضيع 50
:
: 218
الإنتساب : Feb 2008
السلام عليكم افكر في جعل برنامجي يعمل على شبكة محلية و افكر في طريقة تحديث البيانات على شبكة قرأت عن FireBird Events المشكل اني استخدم DBExpress فلسلفة DBExpress هي دعم اكبر عدد من قواعد البيانات بما ان Events ليست مشتركة في جميع قواعد البيانات فلا يوجد مكونات من DBExpress لدعمها الان لدي حلول
تغيير البرنامج لاستخدام مكونات اتصال اخرى مثل FireDac و لا احبذ ذلك
جعل التحديث بطلب المستخدم
او الحل الذي اريد مناقشته هو انشاء اتصال اخر بالـ Zeos او FireDac و استخدام مكونات الـ Events الموجودة معها ما رأيكم في هذا الحل
كما اريد مناقشة تحديث البيانات على شبكة لمن لديهم تجربة في الامر
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
وعليكم السلام ورحمة الله
بالنسبة للمكونات التي ذكرتها هي جيدة وتفي بالغرض لو اعطيتها حقها من الوقت لكن صراحة UniDAC بالمرتبة الاولى قم بتجربته وان كنت لا تود تغيير Firebird استخدم IBDac بلا منه
بالنسبة للتحديث احسن شيئ ان تنقل الBusiness Logic داخل قاعدة البيانات، كل شيئ يتم باجراءات مخزنة بقاعدة البيانات.
بالتوفيق
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
المشاركات : 975
المواضيع 50
:
: 218
الإنتساب : Feb 2008
بارك الله فيك بالنسبة للـ الBusiness Logic هو كذلك اغلب العمل هو triggers و stored procedures
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
المشاركات : 1,252
المواضيع 170
:
: 1,500
الإنتساب : Jul 2009
(15-06-2018, 08:19 AM)B.M.AbdelAziZ كتب : وعليكم السلام ورحمة الله
بالنسبة للمكونات التي ذكرتها هي جيدة وتفي بالغرض لو اعطيتها حقها من الوقت لكن صراحة UniDAC بالمرتبة الاولى قم بتجربته وان كنت لا تود تغيير Firebird استخدم IBDac بلا منه
بالنسبة للتحديث احسن شيئ ان تنقل الBusiness Logic داخل قاعدة البيانات، كل شيئ يتم باجراءات مخزنة بقاعدة البيانات.
بالتوفيق
Business Logic هذه جديدة علي
ممكن شرح مبسط لما تعنيه هذه الجملة؟
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
Business Logic
منطق العمل : هو الجزء من البرنامج الذي يحدد كيف للبيانات ان تنشئ/تضاف/تحفظ/تغير/تحسب...
اذا كان كذا فان كذا، الIF لا تكون داخل البرنامج ولكن داخل قاعدة البيانات
مثال بسيط: الطابع الجبائي في فاتورة برنامج مبيعات كيف يحسب
الطابع يساوي دينار واحد لكل مائة دينار
اقل قيمة هي 5 دينار
اكبر قيمة هي 2500 دينار
كيف تقوم بحسابه في دلفي ؟
تنشئ اجراء مخزن، تمرر له المبلغ وهو يحب قيمة الطابع الجبائي، هنا منطق الحساب تم/موجود داخل قاعدة البيانات في الخادم وليس في برنامج الفاتورة في جهاز العميل.
ليس البرنامج من يمرر له، بل قاعدة البيانات بها Tigger اثناء/بعد اضافة السلع و/أو حفظ بيانات الفاتورة وفقط في حالة كانت طريقة الدفع نقدا
يعني تقريبا كل شيئ يكون داخل قاعدة البيانات، البيانات وماذا يحدث لها
باختصار استخدام الاجراءات المخزنة stored procedures وTriggers في قاعدة Firebird مثلا
البرنامج يبقى فقط كواجهة للمستخدم.
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
المشاركات : 1,677
المواضيع 349
:
: 1,069
الإنتساب : Nov 2013
15-06-2018, 05:26 PM
(آخر تعديل لهذه المشاركة: 15-06-2018, 05:27 PM بواسطة Delphi4Us.)
إقتباس :تنشئ اجراء مخزن، تمرر له المبلغ وهو يجلب قيمة الطابع الجبائي
السلام عليكم ورحمة الله
بقيت اجرب كثيرا حتى توصلت لها لوحدى ، لاول مرة اجعل ماهو ناحية قاعدة البيانات هو ناحية قاعدة البيانات هذه السنة فقط .
وعندها فقط ادركت مقدار التعب والارباك الذي كنا نفعله في برمجة شئ بمكان واحد .
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
المشاركات : 1,252
المواضيع 170
:
: 1,500
الإنتساب : Jul 2009
(15-06-2018, 02:58 PM)B.M.AbdelAziZ كتب : Business Logic
منطق العمل : هو الجزء من البرنامج الذي يحدد كيف للبيانات ان تنشئ/تضاف/تحفظ/تغير/تحسب...
اذا كان كذا فان كذا، الIF لا تكون داخل البرنامج ولكن داخل قاعدة البيانات
مثال بسيط: الطابع الجبائي في فاتورة برنامج مبيعات كيف يحسب
الطابع يساوي دينار واحد لكل مائة دينار
اقل قيمة هي 5 دينار
اكبر قيمة هي 2500 دينار
كيف تقوم بحسابه في دلفي ؟
تنشئ اجراء مخزن، تمرر له المبلغ وهو يحب قيمة الطابع الجبائي، هنا منطق الحساب تم/موجود داخل قاعدة البيانات في الخادم وليس في برنامج الفاتورة في جهاز العميل.
ليس البرنامج من يمرر له، بل قاعدة البيانات بها Tigger اثناء/بعد اضافة السلع و/أو حفظ بيانات الفاتورة وفقط في حالة كانت طريقة الدفع نقدا
يعني تقريبا كل شيئ يكون داخل قاعدة البيانات، البيانات وماذا يحدث لها
باختصار استخدام الاجراءات المخزنة stored procedures وTriggers في قاعدة Firebird مثلا
البرنامج يبقى فقط كواجهة للمستخدم.
السلام عليكم ،
بارك الله فيك على التوضيح ،
الحمد لله منذ مدة وأنا استعمل Stored procedure and trigger ،
لكن أعجبتني فكرة
إقتباس :ليس البرنامج من يمرر له، بل قاعدة البيانات بها Tigger اثناء/بعد اضافة السلع و/أو حفظ بيانات الفاتورة وفقط في حالة كانت طريقة الدفع نقدا
أنا أمرر الباراميترات عن طريق الدلفي .
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
المشاركات : 1,677
المواضيع 349
:
: 1,069
الإنتساب : Nov 2013
إقتباس : أنا أمرر الباراميترات عن طريق الدلفي .
اخ ابومعاذ ، استخدم القوادح افضل سيكون اسرع العمل من داخل قاعدة البيانات نفسها .
مع انني ارى ان السرعة التي نتحدث عنها في جهاز محلي او شبكة محلية تكاد تكون معدومة وانما تؤثر لو كانت غير ذلك .
وايضا تتبع العلميات بداخل قاعدة البيانات نفسها ومراجعتها سيكون افضل من التنقل بين قاعدة البيانات والبرنامج .
من ناحية الترتيب والتنظيم سيكون افضل وجودها بقاعدة البيانات
والله اعلم هذا بحسب خبرتي المتواضعة
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم