DerStauner
Erfahrenes Mitglied
Hallo!
ich versuche, durch einen ODBC-Provider eine parametisierte Abfrage durchzuführen.
Dabei verwende ich folgendes Codefragment:
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=?)
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: