Per Cursor-Adapter gespeicherte Funktion auf SQL-Server ausführen

27/03/2009 - 15:18 von Tobias Eggers | Report spam
Hallo,
ich versuche vergebens mittels Cursor-Adapter eine gespeicherte Funktion auf
dem SQL-Server auszuführen. Mein Problem sind hierbei die Parameter:

Meine gespeicherte Funktion heißt: dbo.GF_getValue und hat zwei Parameter
@cFeldname und @cDatum

Per Builder habe ich mir in Foxpro einen Cursor erstellt und folgenden
selectcmd angegeben:

EXECUTE dbo.GF_getValue @cFeldname = ?cFeldname, @cDatum = ?cDatum

Starte ich nun die Anwendung muss ich immer erst die Werte für cFeldname und
cDatum angeben. Wie kann ich diese vorher definieren? Sodass diese Abfrage
der Werte nicht mehr erscheint.


Die AutoOpenTable Eigenschaft der Dataenvironment steht auf .T.

Danke für jeden Tipp.

Gruß,
Tobias
 

Lesen sie die antworten

#1 Bernhard Sander
27/03/2009 - 17:09 | Warnen spam
Hallo Tobias,

EXECUTE dbo.GF_getValue @cFeldname = ?cFeldname, @cDatum = ?cDatum

Starte ich nun die Anwendung muss ich immer erst die Werte für cFeldname
und cDatum angeben. Wie kann ich diese vorher definieren? Sodass diese
Abfrage der Werte nicht mehr erscheint.


Du definierst in Foxpro diese Variablen so wie immer. Sie müssen verfügbar sein
in dem Augenblick, in dem der Aufruf erfolgt. Falls sie nicht verfügbar sind,
erhàltst Du die Abfrage, die Du schon kennst.
Anstelle der Variablen könntest Du auch z.B. Eigenschaften des CursorAdapters
verwenden:
?this.cDatum

Ähm, ich kenne mich mit dem Aufruf einer SQL-Server-Prozedur nicht so aus, aber
müssten die Parameter nicht eher so angegeben werden:
EXECUTE dbo.GF_getValue @?cFeldname, @?cDatum

Ui, ob es dann klappt, dass man mit @ davor eine Objekteigenschaft angibt, musst
Du ausprobieren, normalerweise kann man eine Objekteigenschaft nicht per
Referenz als Parameter angeben.

Gruß
Bernhard Sander

Ähnliche fragen