我得到一个Template.task.events({
'focus .edit':function(event){
$("#save").show();
},
});
的附加信息,说明此行中有一个未关闭的Datareader。
System.InvalidOperationException
MyCmd.ExecuteNonQuery()
是一个可供所有潜艇使用的私人变量,并声明为
MyCmd
在此之后添加参数。
我在Sub中使用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
之前使用Datareader但在调试时Datareader已关闭,但它仍然无效。
MyCon
我实现Datareader并稍后关闭它,它关闭了,我仔细检查了。
这段代码在VS2010 BTW中运行得非常好。我现在正在与VS2015合作。
答案 0 :(得分:0)
如果您收到一条错误消息,告诉您该连接上打开了数据读取器,那么几乎可以肯定。这就是为什么你应该总是使用Using
块作为短期的一次性对象,例如
Using myDataReader = myCommand.ExecuteReader()
'Use myDataReader here.'
End Using
读者将在End Using
行隐式关闭,因此您不会意外地将其打开。根据具体情况,您可能也应该对您的连接做同样的事情。