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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar