delphi4arab منتديات دلفي للعرب

نسخة كاملة : تحليل قاعدة بيانات موظفين ورواتب
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3 4 5 6
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; 
السلام عليكم اخ Delphi4Us فكرتني بايام زمان مع الفيربيرد قم بحذف suspend و ان شاء تنحل المشكلة
اعتقد انك لا ترغب في اعادة سجلات للبرنامج لذلك لا داعي لاستخدام suspend في حالة اردت اعادة سجلات للبرنامج استخدم suspend

في حالة اردت اعادة سجلات يمكنك استخدام Query مع استخدام Open
جزاك الله كل خير

اجل تم حل المشكلة ، انا جديد على هذا النوع من البرمجة والاجراءات المخزنة ، وعلى الفايربيرد عموما .
شكرا اخ فتح
حتى انا جديد على الفيربيرد Big Grin في الكود الذي ارفقته رأيت اشياء جديدة لاول مرة اراها مثل returning_values مع الـ Execute procedure
بالمناسبة فاتح Big Grin و ليس حركة فتح
هههههههه الله يجعلك فاتح لابواب الخير مغلاق لابواب الشر .
هذه الفايربيرد كل يوم اكتشف فيها شيئا جديدا .
يمكن بها عمل اشياء كثيرة في اجراء واحد ، تصور الاجراء السابق يجهز مرتبات الموظفين بنقرة زر واحدة .
يجلب بيانات تم يرسلها الى اجراءات فرعية ويعود بقيم يضمها مع البيانات الاولى ويخزنها في جدول الموظفين .
لو اردت ان ابرمج هذا في الدلفي لامتلاء النموذج بالادوات والاجراءات .
وهذه الطريقة لا اعرف هل هي المتبعة ام لا لانني فكرت فيها وبرمجتها من العقيد فكري .
نقول هنا العقيد فكري في  اشارة الى ان العقل اوحى لي
نعم الـ Stored Procedures قوية للغاية كما يمكنك استخدام Views بالنسبة لي طالما نفذة العملية بنجاح اتركها كما هي الا في حالة تأكدت ان التقنية التي تليها احسن
يقولون في الكتب ان الاجراءات المخزنة اسرع من الاستعلامات لهذا تركت كل شئ عبارة عن اجراءات مخزنة
(19-06-2018, 11:31 PM)Delphi4Us كتب : [ -> ]يقولون في الكتب ان الاجراءات المخزنة اسرع من الاستعلامات لهذا تركت كل شئ عبارة عن اجراءات مخزنة

السلام عليكم ،
هل من الممكن استعمال ال Transaction مع توابعها commit و rollback  داخل الإجراءات المخزنة Stored procedure ؟
(20-06-2018, 05:16 PM)أبو معاذ كتب : [ -> ]هل من الممكن استعمال ال Transaction مع توابعها commit و rollback  داخل الإجراءات المخزنة Stored procedure ؟
لا
يمكنك استخدام ذلك من الدلفي نفسها

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 2 3 4 5 6