[VB2005] parametisierte Abfrage

DerStauner

Erfahrenes Mitglied
Hallo!

ich versuche, durch einen ODBC-Provider eine parametisierte Abfrage durchzuführen.

Dabei verwende ich folgendes Codefragment:

Code:
Dim strsql As String = "select * from leser where beruf=?beruf"
        Dim cmd As OdbcCommand = New OdbcCommand(strsql, con)
        cmd.Parameters.Add("?beruf", OdbcType.Text, 50)
        cmd.Parameters("?beruf").Value = InputBox("Ihr Beruf?")
        Dim dr As OdbcDataReader = cmd.ExecuteReader()
        dr.Read()
        MsgBox(dr("name"))
        dr.Close()
        con.Close()

In der Galileocomputing-Buch steht, dass eine parametisierte Abfrage so codiert werden muss.
Da steht auch, dass der Platzhalter im Falle des ODBC-Providers ein ? ist.

Also ich glaube, ich habe alles richtig gemacht.

Trotzdem, als ich ein Feld (name) des Ergebnisses möchte erscheinen lassen, kommt es zum Fehler: Keiner Datensatz vorhanden. Obwohl in der Datenbank dieser Datensatz (beruf=krankenpfleger) vorhanden ist.

Was hab' ich falsch gemacht?


hab' schon gelöst.

nicht where beruf=?beruf

sondern (where beruf=?)
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück