Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 2.400 pregleda

Najnovija ↓

DataReader sukob 15.07.2007. u 17:35 · pre 235 meseci #1
Da li u jednoj proceduri (sub rutini) se mogu nalaziti dva DataReadera-a. Imam problem sas sukobom dva dimenzionisana sql datareadera. Jedan se zove drRaz a drugi drOde, njih dvoje se nalaze u jednoj sub rutini. Kaze Nemoze izvrsiti drugi DataReader tj. drOde zato sto drugi nije zatvoren...evo koda....


Code:
  con = New SqlClient.SqlConnection(strCon)
        con.Open()
        '
        Dim drBrRaz As SqlClient.SqlDataReader
        Dim drBrOde As SqlClient.SqlDataReader


        Dim cmdBrRaz As New SqlClient.SqlCommand(strCon, con)
        Dim cmdBrOde As New SqlClient.SqlCommand(strCon, con)


        cmdBrRaz.CommandType = CommandType.StoredProcedure
        cmdBrOde.CommandType = CommandType.StoredProcedure

        cmdBrRaz.CommandText = "procPog_BrAktivnihRazredaPO_IDSko_IDSkoGod"
        cmdBrOde.CommandText = "procPog_BrAktivnihOdeljenjaPo_IDSko_IDSkoGod"

        cmdBrRaz.Parameters.Add("@IDSko", SqlDbType.BigInt).Value = frmDialog.lblIDSkole.Text
        cmdBrRaz.Parameters.Add("@IDSkoGod", SqlDbType.Int).Value = frmDialog.lblSkoGod.Text

        cmdBrOde.Parameters.Add("@IDSko", SqlDbType.BigInt).Value = frmDialog.lblIDSkole.Text
        cmdBrOde.Parameters.Add("@IDSkoGod", SqlDbType.Int).Value = frmDialog.lblSkoGod.Text

        drBrRaz = cmdBrRaz.ExecuteReader <------Problem

        drBrOde = cmdBrOde.ExecuteReader  <-------Problem


        drBrRaz.Read()
        drBrOde.Read()


Interesuje me da li uopste mogu postojati dva readera u jednoj sub r.....
Hvala
Re: DataReader sukob 16.07.2007. u 00:30 · pre 234 meseca #2
There is already an open DataReader associated with this Command which must be closed first.

Napisi prije drBrOde.Read(), drBrRaz.Close().

PS Ne zaboravi zatvoriti konekciju nakon poziva sub-a.
Potpis
It's important that you never stop asking questions!
Re: DataReader sukob 16.07.2007. u 00:52 · pre 234 meseca #3
Mislis sve sto se cita mora da se zatvori da bi moglo nesto drugoda se cita?!
Reci mi da li je uopste moguse imati dva Readera u istoj Sub...?

Re: DataReader sukob 16.07.2007. u 00:58 · pre 234 meseca #4
Da,da uspeo sam!!! Ono drugo je glupo pitanje,(mogu biti dva Readera u jed. sub-u, da ne mogu nebih uspeo!)

Pozz..Hvala
Re: DataReader sukob 16.07.2007. u 21:11 · pre 234 meseca #5
ima neka fora da jedna konekcija ne moze da podrzi dva readera, vec za svaki reader moras da otvaras novu konekciju...
Re: DataReader sukob 16.07.2007. u 21:27 · pre 234 meseca #6
Da skontao sam da treba dve konekcije. Nego mene muci kako da na naj jednostavniji nacin ubacim podatke u treeView kontrolu iz baze pod. a da ne komplikujem sa readerima, jer kako kazes moram stalno otvarati konekciju...?

Neka petlja ili vec sta... Ako neko ima primer sa petljom a da je jedan Reader u igri?
Re: DataReader sukob 17.07.2007. u 00:18 · pre 234 meseca #7
Uspeo DataReader i TreeNode uz pomoc funkcija (Napravio sam funkcije koje vracaju skup podataka)!seljacko resenje, ali ako neko ima nesto b.....-----> evo primera..

Code:
 Function ra31() As TreeNode
        con = New SqlClient.SqlConnection(strCon)
        con.Open()

        'On Error Resume Next

        Dim dr31 As SqlClient.SqlDataReader
        Dim cmd31 As New SqlClient.SqlCommand(strCon, con)
        cmd31.CommandType = CommandType.StoredProcedure
        cmd31.CommandText = "procPog_UcePoRaz_IdSkola_IDSkoGod"
        cmd31.Parameters.Add("@IDSkola", SqlDbType.BigInt).Value = frmDialog.lblIDSkole.Text
        cmd31.Parameters.Add("@IDSkoGod", SqlDbType.Int).Value = frmDialog.lblSkoGod.Text
        cmd31.Parameters.Add("@Raz", SqlDbType.Int).Value = 3
        cmd31.Parameters.Add("@Ode", SqlDbType.Int).Value = 1
        dr31 = cmd31.ExecuteReader

        tvOde = tvRaz.Nodes.Add("treci")
        tvUce31 = tvOde.Nodes.Add("3/1")
        While dr31.Read()
            ra31 = tvUce31.Nodes.Add(dr31("Prezime") & " " & dr31("Ime"))
        End While

        dr31.Close()

        con.Close()

    End Function


Mozda je nekom i smesno ali meni kao pocetniku je ovo velika stvar!!
Pa ako neko ima neki savet tj. bolju tehniku resavanja ovog istog problema .. da podeli sa vecinom
Hvala, pozzz....
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme