Avatar billede bobbynielsen Nybegynder
18. april 2006 - 12:20 Der er 1 løsning

Hvordan får jeg resultat (dataset) fra stored procedure i Delphi?

Jeg kan ikke finde ud af at kalde en stored procedure (Oracle) fra Delphi som giver mig et resultat tilbage som en REF CURSOR.

Min procedure er i en package. Ser således ud:

create or replace PACKAGE my_var_pkg AS
TYPE emp_refcur_typ IS REF CURSOR RETURN employees%ROWTYPE;
TYPE my_refcur_typ IS REF CURSOR;
my_var_pi NUMBER := 3.14016408289008292431940027343666863227;
my_var_e NUMBER := 2.71828182845904523536028747135266249775;
my_var_sales_tax NUMBER := 0.0825;
END my_var_pkg;

create or replace PROCEDURE get_emp_info (firstname IN VARCHAR2,
lastname IN VARCHAR2, emp_cursor IN OUT my_var_pkg.my_refcur_typ) AS
BEGIN
OPEN emp_cursor FOR SELECT e.employee_id, e.first_name, e.last_name, e.email,
e.phone_number, e.hire_date, j.job_title FROM employees e
JOIN jobs j ON e.job_id = j.job_id
WHERE SUBSTR(UPPER(first_name), 1, LENGTH(firstname)) = UPPER(firstname)
AND SUBSTR(UPPER(last_name), 1, LENGTH(lastname)) = UPPER(lastname);
END get_emp_info;

OBS! Læg mærke til at emp_cursor er IN OUT !

Når jeg kalder proceduren kan jeg ikke finde ud af hvad jeg skal give som 3. parameter (cursoren), for at det vil virke?

Resultatet vil jeg bare have vist i et DBGrid.
Avatar billede bobbynielsen Nybegynder
26. juni 2006 - 11:12 #1
Man skal bare lade være med at give 3. parameter (cursoren) en værdi, blot udelade denne parameter.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester