Jag har ett sqlcommand-objekt som ligger inuti en while-sats. Detta objekt ska appliceras på en datareader varje gång while-satsen körs. Kör jag detta med nedan angiven kod får jag felmeddelandet Du behöver två command objekt. Men skulle det hjälpa då? Ja, men olika command-object. Du får definiera ett command-objekt till så bör det fungera. Jag provade med två olika command-objekt. Det blev samma felmeddelande.Problem med sqlcommand
"There is already an open DataReader associated with this Command which must be closed first."
Vad behöver jag ändra för att få det å funka?
Kod:
reader1 = cmd.executereader
dim reader2 as sqldatareader
while reader1.read()
cmd.commandtext = strSQL
reader2 = cmd.executereader <--- Här uppstår felet
If projectReader.Read() Then
...
End If
reader2.close()
WendSv: Problem med sqlcommand
JAg antar att du byger din SQL kod dynamiskt. Om du skickar med hur dy bygger SQL satsen skulle vi kunna hjälpa dig skriva en command som använder parameterar istället.Sv:Problem med sqlcommand
Nu har jag både provat att lägga till ett andra command-objekt samt att lägga den koden som går inne i whilesatsen i en egen subrutin men får samma felmeddelande. man måste väl kunna jobba med flera command-objekt samtidigt?Sv: Problem med sqlcommand
Sv:Problem med sqlcommand
Jag har löst et men på ett icke tillfredställande sätt.
Den första readerns resultat lägger jag i en array som jag efter att jag stängt den readern loopar och anropar den subrutin som kör det andra. Funkar men det borde inte behövas göras så.