Avatar billede mr_green Nybegynder
25. april 2001 - 14:55 Der er 8 kommentarer

PL/SQL udtræk i Delphi?

Jeg har et program hvor jeg vil smide et tal ned i en PL/SQL function, hvorefter functionen bearbejder det tal og smider et andet tal tilbage, hvordan får man Delphi til at sende/modtage til/fra en PL/SQL function??
Avatar billede martinlind Nybegynder
25. april 2001 - 14:59 #1
Det findes en DB component til Stored-procs, det er nok den du skal bruge, men hvis du laver en Delphi app., regner PC\'en så ikke hurtigere en din DB-server.

Martin
Avatar billede mr_green Nybegynder
25. april 2001 - 15:19 #2
Det kan godt være i mit tilfælde at det går hurtigere, men det gør det ikke for brugere der bare sidder ved en sløv arbejdsstation.
Jeg har også prøvet mig frem med TStoredProc men jeg kan ikke rigtigt få den til at virke, og jeg synes ikke rigtigt at der stårr noget om den. Et eksempel ville da være rart..?
Avatar billede mortenkjeldberg Nybegynder
25. april 2001 - 16:51 #3
Hej mr_green

Du skal oprette en TSrodProc i Delphi og samtidig skal du lave en i DB-komponenten.
I Object Inspectoren vælger du hvilken database den skal snakke med i databasename og angiver navnet på den stored procedure du har oprettet på DB-komponenten.

Eksempelet herunder virker:

function TFunktionslag.HentBruger(Brugernavn: string):TStrings;
begin
result:=TStringList.create;
with StoredProcHent do
begin
  ParamByName(\'@brugernavn\').AsString:=Brugernavn;
  ExecProc;
  result.add(ParamByName(\'@Fornavn\').asString);
  result.add(ParamByName(\'@Efternavn\').asString);
  result.add(ParamByName(\'@Password\').asString);
  result.add(ParamByName(\'@Rettigheder\').asString);
  result.add(ParamByName(\'@Email\').asString);
end;
end;

Det er måske et lidt rodet svar men jeg håber det leder dig i den rigtige retning.

Morten
Avatar billede mortenkjeldberg Nybegynder
25. april 2001 - 16:54 #4
Du skal forresten også angive de typer der er af parametre efter du har valgt hvilken proc du vil arbejde sammen med. Dettte gøres ved at dobbeltklikke på Params ovre i Objevt Inspectoren.
Avatar billede mr_green Nybegynder
27. april 2001 - 11:24 #5
Jeg bruger denne her for at trække data ud af min PL/SQL function:

procedure TForm1.Button1Click(Sender: TObject);
var
  Number : real;
begin
  with StoredProc1 do
  begin
    ParamByName(\'CompNrPar\').AsString  := Edit1.text;
    Prepare;
    Execproc;
    Number := (parambyname(\'TotalPrice\').asFloat);
    Edit2.Text := FloatToStr(number);
  end;
end;

ORA-01422: Exact fetch returns more than requested number of rows.
Er der nogen der kan hjælpe??

Avatar billede martinlind Nybegynder
27. april 2001 - 11:29 #6
Det lyder som om din Storedproc ikke er helt ok
Avatar billede mortenkjeldberg Nybegynder
27. april 2001 - 11:30 #7
Har du angivet CompNrPar til at være InputParameter og TotalPrice til at være outputparameter.

Hvis du har, har du så lavet connectionen fra StoredProc1 ned til den Stored Procedure du har lavet på DB-komponenten.

Morten
Avatar billede martinlind Nybegynder
27. april 2001 - 11:40 #8
Kig evt. her :

www.undu.com

artikel : Exposing Stored Procedures For What They Really Are..

/Martin
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
Kategori
Kurser inden for grundlæggende programmering

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