تحليل قاعدة بيانات موظفين ورواتب
#31
PHP كود :
try
IBCStoredProc1.Close;
IBCStoredProc1.ParamByName('SENDDATE').Value:= WheelPicker3.DateTime ;
ShowMessage('ok');
IBCStoredProc1.ExecProc;
except on E: Exception do
ShowMessage(e.Message);
end;
IBCStoredProc1.Close; 
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
الرد
#32
السلام عليكم اخ Delphi4Us فكرتني بايام زمان مع الفيربيرد قم بحذف suspend و ان شاء تنحل المشكلة
اعتقد انك لا ترغب في اعادة سجلات للبرنامج لذلك لا داعي لاستخدام suspend في حالة اردت اعادة سجلات للبرنامج استخدم suspend

في حالة اردت اعادة سجلات يمكنك استخدام Query مع استخدام Open
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
[-] كل من 1 user says قال شكرا ل S.FATEH على المشاركة المفيدة
  • Delphi4Us
الرد
#33
جزاك الله كل خير

اجل تم حل المشكلة ، انا جديد على هذا النوع من البرمجة والاجراءات المخزنة ، وعلى الفايربيرد عموما .
شكرا اخ فتح
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
الرد
#34
حتى انا جديد على الفيربيرد Big Grin في الكود الذي ارفقته رأيت اشياء جديدة لاول مرة اراها مثل returning_values مع الـ Execute procedure
بالمناسبة فاتح Big Grin و ليس حركة فتح
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
[-] كل من 1 user says قال شكرا ل S.FATEH على المشاركة المفيدة
  • Delphi4Us
الرد
#35
هههههههه الله يجعلك فاتح لابواب الخير مغلاق لابواب الشر .
هذه الفايربيرد كل يوم اكتشف فيها شيئا جديدا .
يمكن بها عمل اشياء كثيرة في اجراء واحد ، تصور الاجراء السابق يجهز مرتبات الموظفين بنقرة زر واحدة .
يجلب بيانات تم يرسلها الى اجراءات فرعية ويعود بقيم يضمها مع البيانات الاولى ويخزنها في جدول الموظفين .
لو اردت ان ابرمج هذا في الدلفي لامتلاء النموذج بالادوات والاجراءات .
وهذه الطريقة لا اعرف هل هي المتبعة ام لا لانني فكرت فيها وبرمجتها من العقيد فكري .
نقول هنا العقيد فكري في  اشارة الى ان العقل اوحى لي
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
[-] كل من 1 user says قال شكرا ل Delphi4Us على المشاركة المفيدة
  • S.FATEH
الرد
#36
نعم الـ Stored Procedures قوية للغاية كما يمكنك استخدام Views بالنسبة لي طالما نفذة العملية بنجاح اتركها كما هي الا في حالة تأكدت ان التقنية التي تليها احسن
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
[-] كل من 1 user says قال شكرا ل S.FATEH على المشاركة المفيدة
  • Delphi4Us
الرد
#37
يقولون في الكتب ان الاجراءات المخزنة اسرع من الاستعلامات لهذا تركت كل شئ عبارة عن اجراءات مخزنة
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
[-] كل من 1 user says قال شكرا ل Delphi4Us على المشاركة المفيدة
  • S.FATEH
الرد
#38
(19-06-2018, 11:31 PM)Delphi4Us كتب : يقولون في الكتب ان الاجراءات المخزنة اسرع من الاستعلامات لهذا تركت كل شئ عبارة عن اجراءات مخزنة

السلام عليكم ،
هل من الممكن استعمال ال Transaction مع توابعها commit و rollback  داخل الإجراءات المخزنة Stored procedure ؟
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#39
(20-06-2018, 05:16 PM)أبو معاذ كتب : هل من الممكن استعمال ال Transaction مع توابعها commit و rollback  داخل الإجراءات المخزنة Stored procedure ؟
لا
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
الرد
#40
يمكنك استخدام ذلك من الدلفي نفسها

PHP كود :
begin
    dm
.q_genel.Close;     
    dm
.q_genel.SQL.Clear;     
    dm
.q_genel.SQL.Add('EXECUTE PROCEDURE EDIT_FATURA(:p1,:p2)');
 
   dm.q_genel.ParamByName('p1').AsInteger := fid;
 
   dm.q_genel.ParamByName('p1').AsInteger := sayi; 
 
   try
      dm
.<Database>.StartTransaction;
 
     dm.q_genel.execute;
 
     dm.<Database>.Commit;
 
   except
      dm
.<Database>.Rollback;
 
     raise;
 
   end;      
  end
; 

اذا كان هناك عمليتان للاضافة او التعديل او عملية اضافة وتعديل في نفس الاجراء المخزن بقاعدة البيانات 
انا اقول حسب العقيد فكري انه يجب ان يتم تجزئتهم في اجرائين وتنفيدهم من الدلفي باستخدام الـ Transaction اما ان يتم تنفيدهم الاثنين او فلا 

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


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


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