1. استخدم الإجراءات المخزنة لإرجاع مجموعات البيانات
يتم إرجاع مجموعة البيانات التي يتم إرجاعها بواسطة الإجراءات المخزنة في Oracle بواسطة معلمات بيانات نوع مؤشر المرجع ، ويجب أن تكون المعلمات التي ترجع بياناتها من النوع أو في الخارج.
نظرًا لأن نوع بيانات المعلمة لا يمكن تحديده مباشرة عند تحديد الإجراء المخزن هو: مرجع مؤشر ، يتم إعادة تعريف مؤشر المرجع أولاً بالطريقة التالية:
إنشاء أو استبدال الحزمة fuxjpackage
اكتب fuxjresultset هو مؤشر المرجع.
-يمكنك أيضًا تحديد المحتوى الآخر
نهاية fuxjpackage.
حدد الإجراء المخزن مرة أخرى:
إنشاء أو استبدال الإجراءات updatefuxjexample (SDM في char ، SMC في char ، precur في out fuxjpackage.fuxjresultset)
مثل
يبدأ
تحديث fuxjexample set mc = smc حيث dm = sdm ؛
إذا SQL ٪ ROWCOUNT = 0 ثم
التراجع
فتح preccur ل
حدد "0" الدقة من المزدوج ؛
آخر
يقترف؛
فتح preccur ل
حدد "1" الدقة من المزدوج ؛
إنهاء إذا ؛
نهاية؛
و
إنشاء أو استبدال الإجراء insertfuxjexample (SDM في char ، SMC في char ، precur في Out fuxjpackage.fuxjresultset)
مثل
يبدأ
إدراج في قيم fuxjexample (DM ، MC) (SDM ، SMC) ؛
يقترف؛
فتح preccur ل
حدد * من fuxjexample ؛
نهاية؛
2. اتصل بالإجراء المخزن الذي يرجع مجموعة البيانات في دلفي
يمكن استدعاء التخزين الذي ينفذ مجموعة بيانات الإرجاع من خلال التحكم في TSTORDERPROC. Ptinputoutput.
استخدم tstoredProc لتنفيذ الإعدادات ذات الصلة من updatefuxjexample على النحو التالي:
كائن storedProc1: tstoredProc
databasename = 'UseProc'
storedProcName = 'UpdateFuxJexample'
paramdata = <
غرض
نوع البيانات = ftstring
الاسم = 'SDM'
paramtype = pTinput
نهاية
غرض
نوع البيانات = ftstring
name = 'SMC'
paramtype = pTinput
نهاية
غرض
نوع البيانات = ftcursor
الاسم = 'preccur'
paramtype = pTinputOutput
القيمة = فارغة
نهاية>
نهاية
طريقة التنفيذ هي:
storedProc1.Params.Items [0] .AssTring: = edit1.text ؛
storedproc1.params.items [1] .AssTring: = edit2.text ؛
storedProc1.Active: = false ؛
storedProc1.Active: = True ؛
استخدم tquery لتنفيذ الإعدادات ذات الصلة لـ insertfuxjexample على النحو التالي:
كائن Query1: tquery
databasename = 'UseProc'
sql.strings = (
'يبدأ'
"insertfuxjexample (sdm => m ، smc =>: MC ، precur =>: reccur) ؛ '
'نهاية؛')
paramdata = <
غرض
نوع البيانات = ftstring
name = 'dm'
paramtype = pTinput
نهاية
غرض
نوع البيانات = ftstring
name = 'mc'
paramtype = pTinput
نهاية
غرض
نوع البيانات = ftcursor
name = 'reccur'
paramtype = pTinputOutput
نهاية>
نهاية
طريقة التنفيذ هي:
Query1.Params.Items [0] .AssTring: = edit3.text ؛
Query1.Params.Items [1] .AssTring: = edit4.text ؛
Query1.Active: = false ؛
Query1.Active: = true ؛
إذا SQL ٪ ROWCOUNT = 0 ثم
التراجع
فتح preccur ل
حدد "0" الدقة من المزدوج ؛
آخر
يقترف؛
فتح preccur ل
حدد "1" الدقة من المزدوج ؛
إنهاء إذا ؛
نهاية؛
و
إنشاء أو استبدال الإجراء insertfuxjexample (SDM في char ، SMC في char ، precur في Out fuxjpackage.fuxjresultset)
مثل
يبدأ
إدراج في قيم fuxjexample (DM ، MC) (SDM ، SMC) ؛
يقترف؛
فتح preccur ل
حدد * من fuxjexample ؛
نهاية؛
2. اتصل بالإجراء المخزن الذي يرجع مجموعة البيانات في دلفي
يمكن استدعاء التخزين الذي ينفذ مجموعة بيانات الإرجاع من خلال التحكم في TSTORDERPROC. Ptinputoutput.
استخدم tstoredProc لتنفيذ الإعدادات ذات الصلة من updatefuxjexample على النحو التالي:
كائن storedProc1: tstoredProc
databasename = 'UseProc'
storedProcName = 'UpdateFuxJexample'
paramdata = <
غرض
نوع البيانات = ftstring
الاسم = 'SDM'
paramtype = pTinput
نهاية
غرض
نوع البيانات = ftstring
name = 'SMC'
paramtype = pTinput
نهاية
غرض
نوع البيانات = ftcursor
الاسم = 'preccur'
paramtype = pTinputOutput
القيمة = فارغة
نهاية>
نهاية
طريقة التنفيذ هي:
storedProc1.Params.Items [0] .AssTring: = edit1.text ؛
storedproc1.params.items [1] .AssTring: = edit2.text ؛
storedProc1.Active: = false ؛
storedProc1.Active: = True ؛
استخدم tquery لتنفيذ الإعدادات ذات الصلة لـ insertfuxjexample على النحو التالي:
كائن Query1: tquery
databasename = 'UseProc'
sql.strings = (
'يبدأ'
"insertfuxjexample (sdm => m ، smc =>: MC ، precur =>: reccur) ؛ '
'نهاية؛')
paramdata = <
غرض
نوع البيانات = ftstring
name = 'dm'
paramtype = pTinput
نهاية
غرض
نوع البيانات = ftstring
name = 'mc'
paramtype = pTinput
نهاية
غرض
نوع البيانات = ftcursor
name = 'reccur'
paramtype = pTinputOutput
نهاية>
نهاية
طريقة التنفيذ هي:
Query1.Params.Items [0] .AssTring: = edit3.text ؛
Query1.Params.Items [1] .AssTring: = edit4.text ؛
Query1.Active: = false ؛
Query1.Active: = true ؛
المرفق: إطار عمل بسيط لإنشاء إجراءات مخزنة تُرجع مجموعات البيانات
1.
إنشاء أو استبدال حزمة testPackage هو
نوع testResultset هو مؤشر المرجع.
نهاية الاختبار.
2.
إنشاء أو استبدال اختبار الإجراء
(
precur in testpackage .TestResultSet
)
مثل
يبدأ
فتح preccur ل
حدد * من الجدول ؛
نهاية؛