Querys Simultâneas
boa tarde....
estou com uma estrutura similar a esta:
e com isto tenho o seguinte erro ao executar a segunda Query:
bom... estou usando SqlCommands diferentes... não vejo o pq do erro...
alguem pode me dar uma luz?
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
Curtidas 0
Respostas
Rjun
22/05/2007
O problema é que você só pode ter um objeto DATAREADER aberto por conexão.
GOSTEI 0
Newtonneto
22/05/2007
isto signifca que eu teria de ter 2 conexões para esta estrutura?
GOSTEI 0
Rjun
22/05/2007
Por que você precisa de dois datareaders ao mesmo tempo?
GOSTEI 0
Newtonneto
22/05/2007
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
enquanto varro uma tabela
com as colunas do resultado preparo uma nova query
GOSTEI 0
Carlosrodrigop
22/05/2007
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
Depois e ter os dados no datatable varre cada um deles e faz a regra de negócio que vc deseja
GOSTEI 0