SQL-Sub in einem Modul

Va7e

Mitglied
Hey,

Ich will in einem Modul eine Function erstellen, mit der ich dann in einer Form
SQL-Abfragen usw. machen kann. Bei xSQLBefehl muss sowas rein:
"select * from users where Nickname like '" "User" "'", aber das ist ja leicht.
Nun möchte ich aber noch was anderes hinzufügen, nach dem Do While reader.Read() könnte zum Beispiel stehen: MsgBox(reader("User")). So weit, so gut, aber es wird ja nicht immer eine MsgBox sein, sondern auch Listbox-Adds und sowas.

Wäre sowas überhaupt möglich? Aufruf könnte so aussehen: xSQL(select from...., msgbox ("Test")). Sieht total komisch aus, aber ich habe trotzdem keine Lust,
nur wegen einer Zeile dieselbe Funktion 100 Mal zu benutzen^^

Hier ist der Code:

Code:
    Public Function xSQL(ByVal xSQLBefehl As String)

        Try
            con.ConnectionString = dbPfad
            cmd.Connection = con

            cmd.CommandText = xSQLBefehl

            con.Open()

            reader = cmd.ExecuteReader()

            Do While reader.Read()
                        'Anweisung
            Loop

            reader.Close()
            con.Close()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

    End Function
 
Hi

Du hast schon den richtigen Weg eingeschlagen. Und zwar eine Funktion.
Merkmal einer Funktion: Sie gibt einen Wert zurück.
Demnach: Pack die Daten die du aus der DB abfragst in eine Datenstruktur und gib dies an den Aufrufer. Der kann dann entsprechend damit weiterarbeiten.
 
Hi

Du hast schon den richtigen Weg eingeschlagen. Und zwar eine Funktion.
Merkmal einer Funktion: Sie gibt einen Wert zurück.
Demnach: Pack die Daten die du aus der DB abfragst in eine Datenstruktur und gib dies an den Aufrufer. Der kann dann entsprechend damit weiterarbeiten.

Ich hab mich wie immer falsch ausgerückt, sorry^^
Ich frag mal anders, kann man das so machen:

Public Function Test (ByVal A as String, ByVal B as ?)
...
End Function

Public Sub Test1()
MsgBox "Bla"
End Sub

Kann ich jetzt B jetzt einen Sub übergeben? Aufruf:

Test ("TestString", Test1)?

Wenn ja, wie muss ich "B" bei der Function deklarieren?
 
Zurück