Aprire più connessioni

martedì 07 novembre 2006 - 09.46

stee85 Profilo | Senior Member

Ciao a tutti,
ho scritto questo codice:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Il problema è che apro due connessioni una dentro l'altra e quindi mi da errore ...
come posso fare?

graizie mille
Ste

alx_81 Profilo | Guru

>Ciao a tutti,
Ciao!

>ho scritto questo codice:
>
>string query =" select recownid,RecMeA from rec,cmb where reccmbid
>= cmbownid and cmbownid="+cmb+" order by RecMeA";
> SqlDataReader dr;
> SqlCommand cmd = new SqlCommand(query,conn);
> conn.Open();
> dr = cmd.ExecuteReader();
> while(dr.Read() == true)
> {
> int seq = Convert.ToInt32(dr.GetValue(1));
> int id_rec = Convert.ToInt32(dr.GetValue(0));
>
> string queryInsert = "....";
> int new_id_rec = 0;
> SqlCommand cmd1 = new SqlCommand(queryInsert,conn);
> conn.open();
> cmd1.ExecuteNonQuery();
>conn.close();
> }
> dr.Close();
> conn.Close();
>
>Il problema è che apro due connessioni una dentro l'altra e quindi
>mi da errore ...
>come posso fare?

Il problema è che cerchi di aprire la stessa, che è già aperta.. Ed inoltre, a quella connessione è già associato un datareader e quindi non puoi nemmeno usare la stessa conn per eseguire il comando.
Ti consiglio di trasformare quel datareader in un datatable disconnesso, tramite un dataadaplter.
In questo modo, la connessione è rilasciata e libera per l'esecuzione iterata del comando interno al ciclo..
ciao!


>quindi
>
>graizie mille
>Ste

Alx81 =)

http://blogs.dotnethell.it/suxstellino
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5