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

نسخة كاملة : الاجراءات المخزنة مع مكونات IBDAC
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله

في مكونات اخرى كان يكفي ان تقوم بفتح OPEN المكون ليتم تنفيذ الاجراء المخزن وجلب البيانات .
او تقوم بالتنفيذ مثل EXECPROC 
اما مع مكونات IBDAC لاينفع الامر Open او الامر EXECPROC 
وتحصل على رسالة تفيذ انه لا يوجد اي بيانات .
وانما لابد من تنفيذ هذا الامر قبل ذلك
كود :
Data1.ProcMAXMIN.PrepareSQL(true); Data1.ProcMAXMIN.ExecProc;

فهمت من ذلك انه يتم تكوين جملة SQL تجلب البيانات من  الاجراء .
هل هذه هي الطريقة الصحيحة ...؟
طبعا عملت بشكل طبيعي ولكن ما اخشاه ان يكون المكون IBCStoredProc يقوم على تنفيذ العملية مرتين
مرة لجلب البيانات ومرة اخرى للاستعلام من نفس البيانات .
Huh Huh Huh Huh Huh
وعليكم السلام ورحمة الله
عندي open .تعمل عادي لم افهمك جيدا
اخ موبايل هل استخدمت العبارة Open دون ان تستخدم هذا الامر
Data1.ProcMAXMIN.PrepareSQL(true)
اجل اذا استخدمت السطر البرمجي الاخير وبعدها الامر Open تعمل ولا استخدمت ExecProc
ولكن لا يعمل اذا لم استخدم PrepareSQL قبلها
انا ما اعمله ان الاجراءات المخزنة سريعة واخشى ان الامر PrepareSQL يحول العملية كلها الى مجرد استعلام View تم يطلب البيانات
ومعلوم ان الاستعلامات العادية بطيئة عن تنفيذ الاجراءات المخزنة
أنا أستخدم مكونات unidac, وهذا من ملف المساعدة الخاص بالاجراء المخزن, العملية مثل ما كنت تظن
PHP كود :
Call the Prepare method to allocate, open, and parse cursor for a query. Calling Prepare before executing a query improves application performance. 

The UnPrepare method unprepares a query. 
السلام عليكم
عذرا اخ علي على الغياب عن الموضوع
نعم استعمل Open مباشرة