c# - Using statement doesn't seem to dispose my object -
i'm having trouble. have sqlcommand in using block. works fine. time however, code exits using block command not disposed. has me stumped.
using (sqlcommand transfercommand = new sqlcommand(strheaderstoredprocedure, connection)) { transfercommand.commandtype = system.data.commandtype.storedprocedure; transfercommand.parameters.add("@invttransferid", sqldbtype.uniqueidentifier).value = invttransferid; sqldatareader transferreader = transfercommand.executereader(); while (transferreader.read()) { //do stuff, works fine } } using (sqlcommand transfercommand = new sqlcommand(strdetailsstoredprocedure, connection)) { transfercommand.commandtype = system.data.commandtype.storedprocedure; transfercommand.parameters.add("@invttransferid", sqldbtype.uniqueidentifier).value = invttransferid; sqldatareader transferreader = transfercommand.executereader(); <-- error happens here. }
i'm trying reuse connection run bunch of stored procedures. strangest thing. have code on form virtually identical , runs fine, disposing command , allowing me make another. ideas i'm doing wrong? (i'm trying make code nice in post seems beyond meager power...so sorry messy code.)
error is: there open datareader associated command must closed first.
what have open sqldatareader (transferreader), close , dispose datareader or use using() it.
i assume command not being released because reader still open.
Comments
Post a Comment