SELECT-Anweisung - Problem

30/01/2008 - 13:59 von Thomas Griepentrog | Report spam
Hallo NG,

ich habe ein Problem bei der Erstellung einer SELECT-Anweisung auf eine
FoxPro-Tabelle.

Über eine eigene DLL habe ich mir die Where-Klausel generieren lassen (Ich
speichere in einem Feld eine Summe von Zahlen (2^n) , welche ich dann
zerlegen lasse und als WHERE-Klausel zurückbekomme.)

Bsp: SELECT bez_eng from bez where ID=2 OR ID=4 OR ID=8

Das Statement ID=2 OR ID=4 OR ID=8 bekomme ich aus meiner DLL zurück.

Diesen String habe ich nun in einer Variable ( whereclause mit dem Wert
"ID=2 OR ID=4 OR ID=8" )

Nun zu meinem Problem:

Wie bekomme ich die SELECT-Anweisung dazu, im WHERE-Bereich die Variable zu
nehmen und zu funktionieren?

Also ich möchte gerne aufrufen:

SELECT bez_eng from bez where whereclause <-- da sagt er mir SQL:WHERE
clause is invalid.

Umgebung:

Win2000 SP4
FoxPro 9 SP1
.NET 2.0

Die DLL ist eine .NET-DLL, welche richtig registriert ist.

Danke für Hilfestellung

Thomas
 

Lesen sie die antworten

#1 Bernhard Sander
30/01/2008 - 14:10 | Warnen spam
Hallo Thomas,

ich habe ein Problem bei der Erstellung einer SELECT-Anweisung auf eine
FoxPro-Tabelle.

Über eine eigene DLL habe ich mir die Where-Klausel generieren lassen
(Ich speichere in einem Feld eine Summe von Zahlen (2^n) , welche ich
dann zerlegen lasse und als WHERE-Klausel zurückbekomme.)

Bsp: SELECT bez_eng from bez where ID=2 OR ID=4 OR ID=8

Das Statement ID=2 OR ID=4 OR ID=8 bekomme ich aus meiner DLL zurück.

Diesen String habe ich nun in einer Variable ( whereclause mit dem Wert
"ID=2 OR ID=4 OR ID=8" )

Nun zu meinem Problem:

Wie bekomme ich die SELECT-Anweisung dazu, im WHERE-Bereich die Variable
zu nehmen und zu funktionieren?

Also ich möchte gerne aufrufen:

SELECT bez_eng from bez where whereclause <-- da sagt er mir SQL:WHERE
clause is invalid.



Das Geheimnis liegt in einem &-Zeichen vor der Variablen:
SELECT bez_eng from bez where &whereclause
und schon sollte es gehen.
Siehe dazu in der Hilfe "& command" (Makro-Expansion)

Schau in der Hilfe auch gleich mal bei den BITxxx-Funktionen nach, ob die nicht
die Arbeit Deiner DLL erledigen können, das spart evtl. die Makro-Expansion.

Gruß
Bernhard Sander

Ähnliche fragen