ODBC Verbindung-Anzeige einer Tabelle mit Browse

13/05/2009 - 14:42 von Karl Twele | Report spam
Hallo,

ich folgendes Program und mein Ziel ist die Anzeige der Spalten meiner
MS SQL Server 2008 Tabelle "Kunden" aus der DatenBank "DKF" im
Browsefenster. Kann mir vielleicht jemand die ??? ergànzen, damit ich
nicht ewig suchen muß in der Hilfe suchen muß. Die Verbindung kommt
zustande, mir fehlt nur das richtige SQL-Statemant.

CLEAR ALL
LOCAL lnConn
lnConn = SQLCONNECT('DKF',"sa","my_pswd")
IF m.lnConn > 0
SQLEXEC(m.lnConn, '???')
???
BROWSE
ELSE
? "DatenBank ist nicht zu finden !"
ENDIF

Danke im Vorraus

KT
 

Lesen sie die antworten

#1 Bernhard Sander
13/05/2009 - 15:29 | Warnen spam
Hallo Karl,

ich folgendes Program und mein Ziel ist die Anzeige der Spalten meiner
MS SQL Server 2008 Tabelle "Kunden" aus der DatenBank "DKF" im
Browsefenster. Kann mir vielleicht jemand die ??? ergànzen, damit ich
nicht ewig suchen muß in der Hilfe suchen muß. Die Verbindung kommt
zustande, mir fehlt nur das richtige SQL-Statemant.

CLEAR ALL
LOCAL lnConn
lnConn = SQLCONNECT('DKF',"sa","my_pswd")
IF m.lnConn > 0
SQLEXEC(m.lnConn, '???')
???
BROWSE
ELSE
? "DatenBank ist nicht zu finden !"
ENDIF



Anstelle der drei Fragezeichen steht ein ganz und gar üblicher SQL-Befehl.
Das kann ein SELECT, UPDATE, INSERT, DELETE sein. Die SQL-Syntax ist im
wesentlichen die gleiche wie unter Foxpro. Feinheiten musst Du in der Doku des
Datenbankservers nachlesen.
Ein allgemeingültiges Statement für Deinen Fall wàre z.B.
lcSQL = "SELECT * FROM Kunden"
SQLExec(m.lnConn, m.lcSQL)

Das ist allerdings kein besonders geschickter Befehl, weil er die komplette
Tabelle liefert. Einen besseren Befehl musst Du schon selber zusammenbauen, weil
hier keiner Deine Tabellenstrukturen und Tabelleninhalte kennt.
Ein Ansatz wàre:
lcX = "x"
lnY = 17
ldZ = date()
TEXT TO lcSQL
SELECT feld1, feld2, feld3 FROM Kunden
WHERE feld1=?lcX AND feld2 = ?lnY OR feld3 = ?ldZ
ENDTEXT
SQLExec(m.lnConn, m.lcSQL)

Mit Hilfe der ? kannst Du statt fester Werte mit allen Komplikationen bezüglich
Stringbegrenzer, Datumsbegrenzer, SQL-Injection usw. einfach den Inhalt von
Variablen oder ganzen Ausdrücken als Parameter an den SQL-Befehl mitgeben.

Gruß
Bernhard Sander

Ähnliche fragen