Benutzer mit den meisten Antworten
ADODB.Connection + ADODB.Recordset

Frage
-
Hallo Entwickler,
ich habe ein Problem mit meinem Code:
Private Sub cboBTWellenNr_Click(sender As Object, e As System.EventArgs) Handles cboBTWellenNr.Click Dim rs As New ADODB.Recordset Dim db As New ADODB.Connection Dim strPfad As String Dim strSQL As String Dim strBTWellenNr As String strPfad = txtDB.Text strBTWellenNr = cboBTWellenNr.Text strSQL = "SELECT Gruppe, Kunde FROM Radsatz WHERE BTWellenNr = '" & strBTWellenNr & "'" db.open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPfad & "") rs.open(strSQL) Do Until rs.eof Me.txtKunde = rs.fields("Kunde") rs.movenext() Loop rs.close() db.close() rs = Nothing db = Nothing End Sub End Class
Ich bekomme folgende Fehlermeldung:
Namespace ADODB Class Connection Sub open(p1 As Object) Throw New NotImplementedException End Sub Sub close() Throw New NotImplementedException End Sub End Class End Namespace
Fehler: Throw New NotImplementedException
Die Klassen Connection + Recordset sind doch richtig instanziiert?
Grusse ro_grille
Lebe Dein Leben beständig, Du bist länger Tod als lebendig.
Antworten
-
Hi,die Frage ist etwas unklar. Wichtig ist, dass man die Grundbausteine versteht: Connection, Command, Parameter, DataReader, DataAdapter. Und dann braucht man ggf. noch Datenpuffer (Inline-Datenbank). Als Datenpuffer kann eine DataTable dienen, ggf. enthalten in einem DataSet. Der TableAdapter kapselt wiederum eine DataAdapter. Die BindingSource kapselt DataView und CurrencyManager. EDM und EF sind andere Techniken zur Organisation der Datenpuffer.--
Viele Gruesse
Peter- Als Antwort markiert ro_grille Montag, 29. Oktober 2012 16:49
Alle Antworten
-
Hi,es gibt mehrere Bemerkungen meinerseits:1. in VB.NET gibt es die System.Data- und System.Data.OleDb-Namensräume mit entsprechend angepassten Klassen und Methoden. Ds klassische ADO braucht man dazu nicht mehr.2. Dein Recordset kennt die Verbindung zur Datenbank (Dein db) nicht.3. Verkettete SQL-Anweisungen bergen die Gefahr der SQL Injection und sollten zugunsten der Nutzung von Parameter-Objekten ausgetauscht werden.Hier ein paar Anregungen von meiner Homepage: http://www.informtools.de/kb.aspx?ID=138--
Viele Gruesse
Peter -
Hallo Peter,
vielen Dank für die schnelle Antwort.
Deine Seite ist in meinen Favoriten. Beim schnellen Blick, tolle Tipps- und Tricks mit einer Menge Code ;-)
Werde sicher was finden und zusammen basteln können ^^.Eine Frage bezüglich des Abfragegenerator vom DataSet/Tableadapter-Abfragen hätte ich noch.
Kann man in diesem auch mit Variablen und Objekten arbeiten, oder beschränkt sich der Tableadapter "nur" auf das Datset?
Bsp. "SELECT Artikel, Kunde FROM Produkt WHERE Artikel = '" & Me.cboArtikel & "'"
Grusse ro_grille
Lebe Dein Leben beständig, Du bist länger Tod als lebendig.
-
Hi,die Frage ist etwas unklar. Wichtig ist, dass man die Grundbausteine versteht: Connection, Command, Parameter, DataReader, DataAdapter. Und dann braucht man ggf. noch Datenpuffer (Inline-Datenbank). Als Datenpuffer kann eine DataTable dienen, ggf. enthalten in einem DataSet. Der TableAdapter kapselt wiederum eine DataAdapter. Die BindingSource kapselt DataView und CurrencyManager. EDM und EF sind andere Techniken zur Organisation der Datenpuffer.--
Viele Gruesse
Peter- Als Antwort markiert ro_grille Montag, 29. Oktober 2012 16:49