Ich bekomme eine System.InvalidOperationException
mit der zusätzlichen Info, dass es einen nicht geschlossenen Datareader in dieser Zeile gibt.OleDbCommand nicht geschlossener Datereader Fehler
MyCmd.ExecuteNonQuery()
MyCmd
ist eine Private-Variable zugänglich für alle U-Boote und wird als
MyCmd = New OleDb.OleDbCommand()
MyCmd.CommandText = "Insert Into Netzwerkverwaltung(NSub, Nip, Npc, Nuser, Pherst, Pser, Pmod, Pcpu, Phdd, Pram, Pkauf, Sos, Sosoem, Sosopen, Sfunk, Soffice, Sofficeoem, Sofficeopen, Anmerkung) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
MyCmd.Connection = MyCon
Danach werden die Parameter hinzugefügt werden erklärt.
Ich benutze MyCon
in einem Sub zuvor mit einem Datareader aber der Datareader ist geschlossen, wenn ich es debuggen aber es funktioniert immer noch nicht.
Dim myDR As OleDb.OleDbDataReader
MyCmd = New OleDb.OleDbCommand("SELECT * FROM Netzwerkverwaltung WHERE ID=?", MyCon)
MyCmd.Parameters.Add(New System.Data.OleDb.OleDbParameter("ID", System.Data.OleDb.OleDbType.Integer))
MyCmd.Parameters("ID").Value = Request("ID")
If MyCon.State = ConnectionState.Closed Then
MyCon.Open()
End If
myDR = MyCmd.ExecuteReader()
Dort implementiere ich den Datareader und schließe ihn später, und es ist geschlossen, das habe ich doppelt überprüft.
Dieser Code funktionierte perfekt in VS2010 BTW. Und ich arbeite gerade mit VS2015.
Alle Ihre Verbindungen, Befehle, Datenreader sollten lokal erstellt und entsorgt werden, wenn Sie damit fertig sind. Irgendwo in deinem Code hast du einen Leser offen gelassen. – Plutonix