Problem SQLDataReader

Problem SQLDataReader

offline
  • Pridružio: 24 Nov 2009
  • Poruke: 128
  • Gde živiš: Zemun

Cao svima

pojavljuje mi se greska:
System.InvalidOperationException: There is already an open DataReader associated with this Command which must be closed first.

a evo kako kod otprilike izgleda:

string upit = "SELECT * FROM dbo.test"); SqlCommand komanda = new SqlCommand(upit,konekcija); konekcija.Open(); reader=komanda.ExecuteReader(); while(reader.Read()) { string 1 =reader[0].ToString(); string 2 =reader[1].ToString(); if(string2=="blablabla") { string upit1 = "SELECT * FROM dbo.test2"); SqlCommand komanda1 = new SqlCommand(upit1,konekcija); reader1=komanda1.ExecuteReader(); while(reader1.Read()) { string 11=reader1[0].ToString(); string 22==reader1[1].ToString(); } reader1.Close(); } else { ....... } } reader.Close();

Da li neko vidi gde gresim?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Greška koju .NET daje nije baš najsrećnija Smile Smeš da imaš jedan DataReader po konekciji, a ne po komandi. Problem možeš rešiti tako što ćeš u connection string dodati MultipleActiveResultSets=truešto ti dozvoljava da imaš više aktivnih DataReader-a.



offline
  • Pridružio: 24 Nov 2009
  • Poruke: 128
  • Gde živiš: Zemun

Sorry Srki_82 sto kasnim, resio sam sproblem otvaranjem nove konekcije. Nije mi bilo jasno to sto recimo kada je u pitanju Oracle baza tj kada koristim:
 OleDbConnection (Provider=OraOLEDB.Oracle;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.1)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=.....)));User id=......;Password=......)
... mogu da imam vise readera po jednoj konekciji dok kada je u pitanju:

SqlConnection (Data Source=SQL2008;Network Library=DBMSSOCN;Initial Catalog=.........;User ID=......;Password=.......)
... mogu imati samo jedan reader. No nema veze covek se uci dok je ziv! Very Happy Hvala u svakom slucaju!

offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Kao što već rekoh, možeš da imaš više readera i sa MS SQL, ako u connection stringu dodaš MultipleActiveResultSets=true.

Ko je trenutno na forumu
 

Ukupno su 456 korisnika na forumu :: 2 registrovanih, 1 sakriven i 453 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3028 - dana 22 Nov 2019 07:47

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: dragoljub11987, kaptain