Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Wie übergebe ich einen Parameter als Feld mit DOA ? (https://www.delphipraxis.net/131898-wie-uebergebe-ich-einen-parameter-als-feld-mit-doa.html)

alphaville 2. Apr 2009 05:25

Datenbank: Oracle • Version: 10 • Zugriff über: DOA - Komponente

Wie übergebe ich einen Parameter als Feld mit DOA ?
 
Hallo Zusammen,

ich habe folgendes Problem.

Ich lade eine SQL-Bfehel in ein Oracle Dataset.

z.B.:
SQL-Code:
SELECT DISTINCT
  IP.MATERIAL_ID,
  MA.ARTMAT,
  MA.MATBEZNAME,
  MA.MENGENEINHEIT ME,
  MA.ZOLLTARIFNUMMER ZN_EU,
  SF_PALO.GET_ZOLLGRPNR(:LAND_ID,ip.material_id,null) AS ZN_VN,
  :USERNAME AS USERNAME
FROM sf_palo.IMPORT_POSITIONSDATEN ip
JOIN SF_PALO.IMPORT_KOPFDATEN ik
  ON IK.IMPORT_ID = IP.IMPORT_ID
 AND IK.GESELLSCHAFT = 221 
JOIN shoefactory.vARTMAT ma
  ON MA.ARTMAT_ID = ip.material_id
WHERE SF_PALO.GET_ZOLLGRPNR(2351,ip.material_id,null) < 0
ORDER BY MA.ZOLLTARIFNUMMER
und möchte den Namen (USERNAME) als Parameter aus der DOA übergeben.
Dieser Name ist z.B. "D.Duck".

Wenn ich jetzt in der DOA mit:
dataOracle.DeclareAndSet(':USERNAME',otString, string(benutzer));
arbeite, bekomme ich eine Fehlermeldung 'ORA-01036: illegal variable name/number' augetreten

Ändere ich den SQL in der Zeile :USERANME auf 'd.duck' klappt es einwandfrei...
Ich dachte immer die Funktion erstzt nur die Variable durch den übergebenen Wert...

Was mach ich falsch ???

mkinzler 2. Apr 2009 06:40

Re: Wie übergebe ich einen Parameter als Feld mit DOA ?
 
Ich kenne DOA nicht, aber normalerweise ist der Doppelpunkt nicht Teil des Parameternamens:
Delphi-Quellcode:
dataOracle.DeclareAndSet('USERNAME',otString, string(benutzer));


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz