SQLDataReader ASP.net URGENTE MT URGENTE

xinxarro

Power Member
Boas estou com o seguinte problema no visual studio, tenho o seguinte código:

Dim conn As New SqlConnection(CONNSTR)
Dim commd As New SqlCommand(query, conn)
Dim dr As SqlDataReader
conn.Open()
dr = commd.ExecuteReader
While dr.HasRows
dr.Read()
'Actualizar o valor do campo Pesquisa da Tabela Empresa
Dim sp As New SqlCommand("ACTUALIZAR_PESQUISA_EMPRESA", conn)
sp.CommandType = Data.CommandType.StoredProcedure
Dim cod As New SqlParameter("@E_COD", Data.SqlDbType.Int)
cod.Value = dr.Item("OE_E_COD").ToString
sp.Parameters.Add(cod)

sp.ExecuteNonQuery()

End While
dr.Close()
conn.Close()

o que pretendo é actualizar um campo enquanto o dr for verdadeiro, o que se passa é o seguinte mantendo o codigo como esta dá me o seguinte erro,
System.InvalidOperationExceptio:Já exite um DataReader aberto associado a este Comando, que tem ser fechado primeiro e o que fiz quando me deu este erro
foi fechar a ligação (dr.close) antes se executar o sp.ExecuteNonQuery e quando fui executar o k tinha mudado deu me novamente um erro mas diferente
que é o seguinte, System.InvalidOperationExceptio:Tentativa invalida para chamar hasRow quando o leitor está fechado. Eu sei o motivo pela qual deu a minha questão
como é que eu posso fechar a ligação sem me darem o s erros mencionados ou se possivel fazer de outra maneira

Ps: a query associada ao primeiro SqlCommand é a seginte select * from OFERTE_EMPREGOS where tipo =? and area =? and cod_empresa=?
 
Back
Topo