Querys Simultâneas

22/05/2007

0

boa tarde....
estou com uma estrutura similar a esta:
using System.Data.SqlClient;

string strSQL = "";
string connectionString = ".....SQL Server....";
SqlConnection Cnn = new SqlConnection(connectionString);

SqlCommand Cmd1 = new SqlCommand();
Cmd1.Connection = Cnn;
SqlCommand Cmd2 = new SqlCommand();
Cmd2.Connection = Cnn;

strSQL = "SELECT * FROM ....";
Cmd1.CommandText = strSQL;
SqlDataReader drd1 = Cmd1.ExecuteReader();

strSQL = "SELECT * FROM ....";
Cmd2.CommandText = strSQL;
SqlDataReader drd2 = Cmd2.ExecuteReader();




e com isto tenho o seguinte erro ao executar a segunda Query:

There is already an open DataReader associated with this Command which must be closed first.


bom... estou usando SqlCommands diferentes... não vejo o pq do erro...
alguem pode me dar uma luz?


Newtonneto

Newtonneto

Responder

Posts

23/05/2007

Rjun

O problema é que você só pode ter um objeto DATAREADER aberto por conexão.


Responder

23/05/2007

Newtonneto

isto signifca que eu teria de ter 2 conexões para esta estrutura?


Responder

24/05/2007

Rjun

Por que você precisa de dois datareaders ao mesmo tempo?


Responder

24/05/2007

Newtonneto

porque na aplicação em que estou trabalhando preciso fazer o seguinte:
enquanto varro uma tabela
com as colunas do resultado preparo uma nova query


Responder

12/06/2007

Carlosrodrigop

Joga os dados obtidos em cada uma das consultas em um datatable diferente e apos cada consulta, feche o datareader, manter datareader aberto apos uma consulta siples nao é uma boa pratica de programacao pois vc fica mantendo a conexao aberta com o BD.

Depois e ter os dados no datatable varre cada um deles e faz a regra de negócio que vc deseja


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar