DB-Zugriff aus VB 6.0

Hallo zusammen

Mal eine Frage an die Experten unter Euch: Wie greift Ihr mit Visual Basic 6.0 auf den SQL-Server 7.0 zu?

Benutzt Ihr ODBC, ADO, … ? Ich habe ein bisschen den Überblick verloren.

Kann mir jemand vielleicht ein ganz kleines Stücken Code posten, welches ein RS auf einer SQL-Tabelle öffnet und dieses in einem Grid oder so anzeigt.

Danke und Gruss
Martin

ADO ist IMHO die beste Wahl, hat das einfachste Objektmodell.

Schaut z. B. so aus:

Dim oConn As Object
Dim oRS As Object
Dim sSQL As String

Set oConn = CreateObject("ADODB.Connection")
sSQL = "SELECT \* FROM tabelle"
Set oRS = oConn.Execute(sSQL)

Do While NOT oRS.EOF
 MsgBox(oRS("feld1"))
 oRS.MoveNext
Loop

Grüße, Robert

Hallo Robert

Vielen Dank für Deine Antwort.

Doch, wo gebe ich die Datenbank an und wie kriege ich die Daten dann z.B. in ein Grid oder in eine Listbox, oder … ?

Danke und Gruss
Martin

Doch, wo gebe ich die Datenbank an und

Ups, habe ich doch glatt vergessen. :o)
Einfach vor dem ersten Execute das Connection-Objekt mit einem DSN verbinden:

objConnection.Open sDSN, sUser, sPassword

wie kriege ich die Daten dann z.B. in ein
Grid oder in eine Listbox, oder … ?

Mit VB kenne ich mich nicht so gut aus, habe die ADO bisher nur mit dem WSH bzw. ASP benutzt.

Mit folgender Schleife kannst du auf jeden Fall einmal alle Ergebnisdatensätze durchgehen:

Do While NOT oRS.EOF
 ...
 oRS.MoveNext
Loop

Und mit oRS(„feldname“) kannst du die einzelnen Felder dieses Datensatzes ansprechen.

Da das Recordset praktisch eine Collection aus Collections ist, also jeder Datensatz eine Collection für sich ist, kannst du auch über eine For Each … Next Schleife alle Felder eines Datensatzes durchgehen.

Wenn du das in der obigen Do … While Schleife machst könntest du damit irgendwelche zweidimensionalen Oberflächenelemente befüllen (oder im Falle einer Listbox die Felder zu einem String zusammenhängen und datensatzweise hinzufügen), aber da kenne ich mich leider wie gesagt nicht so aus.

Grüße, Robert