Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alebae

[Resolvido] Erro '80004005' com UPDATE

Recommended Posts

Olá, estava tentando uma atualização nos registros do banco de dados, e me retornou o seguinte erro:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

 

[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x5f08 Thread 0x860c DBC 0x197a2f4 Jet'.

 

/loja/atualiza_comp.asp, line 99

A linha é a do Update mesmo

sql = "update tb_produtos set categoria='" & categoria & "', cod_tsi= '" & cod_tsi & "', nome= '" & nome_prod & "', descricao= '" & descricao & "', foto= '" & cfoto & "', preco1= '" & preco1 & "', preco2= '" & preco2 & "', preco3= '" & preco3 & "', preco4= '" & preco4 & "',  preco5= '" & preco5 & "', preco6= '" & preco6 & "', preco7= '" & preco7 & "', preco8= '" & preco8 & "', preco9= '" & preco9 & "', preco10= '" & preco10 & "', caracteristica1= '" & caracteristica1 & "', caracteristica2= '" & caracteristica2 & "', caracteristica3= '" & caracteristica3 & "', caracteristica4= '" & caracteristica4 & "', caracteristica5= '" & caracteristica5 & "', caracteristica6= '" & caracteristica6 & "', caracteristica7= '" & caracteristica7 & "', caracteristica8= '" & caracteristica8 & "', caracteristica9= '" & caracteristica9 & "', caracteristica10= '" & caracteristica10 & "', caracteristica11= '" & caracteristica11 & "', caracteristica12= '" & caracteristica12 & "', itemincluso1= '" & itemincluso1 & "', itemincluso2= '" & itemincluso2 & "', itemincluso3= '" & itemincluso3 & "', itemincluso4= '" & itemincluso4 & "', itemincluso5= '" & itemincluso5 & "', itemincluso6= '" & itemincluso6 & "', itemincluso7= '" & itemincluso7 & "', itemincluso8= '" & itemincluso8 & "', itemincluso9= '" & itemincluso9 & "', itemincluso10= '" & itemincluso10 & "', info1= '" & info1 & "', info2= '" & info2 & "', info3= '" & info3 & "', info4= '" & info4 & "',  info5= '" & info5 & "', sis_operacional= '" & sist_operacional & "', garantia= '" & garantia & "', marca= '" & marca & "', promocao= '" & promocao & "' where cod_produto = "& request("cod_produto")
set rsquery = conexao.execute(sql)

Conferi o código e não havia nenhum erro de nome de tabela e afins. Tentei colocar antes do sql em si um Response.Write(sql) para ver o erro detalhadamente, porém nada. Nunca havia visto este erro antes, qual será?

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, se você conferiu a query e está tudo ok tente isso

no lugar de

set rsquery = conexao.execute(sql)

coloque

conexao.execute(sql)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Continua o mesmo erro...

Acho que está no request...

where cod_produto = "& request("cod_produto")

Tentei ao invés de somente Request, coloquei Request.QueryString e deu este erro

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

 

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'cod_produto='.

where cod_produto=" & Request.QueryString("cod_produto")

Editando....Tentei esta alteração,

If Request.QueryString("cod_produto") <> "" then 
//a linha do update que está igualmente lá em cima, inclusive com conexao.execute(sql)
end if
E deu erro, não é alterado nada na tabela!

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o erro atual? o priemiro erro poderia ser apenas o fato de estar tentando usar o site com o DB aberto em modo exclusivo

Compartilhar este post


Link para o post
Compartilhar em outros sites

O "erro" atual é que não altera nada no banco de dados, o resultado é que o formulário foi atualizado com sucesso, porém na verdade, no bd, alterou nada. Eu testei com o bd fechado, com o código utlizado antes, sem o if, e continuou dando aquele erro '80004005'...

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes de executar escreve na tela o seu sql e poste aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei Response.Write(sql) antes do conexao.execute(sql)...ele retornou nada...somente que a atualização havia sido feito com sucesso, mas na verdade não atualizou no bd...

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao é esse o erro mas voce nao rpecisar setar RS para update e insert

 

faça apenas

 

conexao.execute(sql)

 

e antes ponha

 

response.write sql

response.end

 

e poste aqui o resultado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz assim:

' todo o update...
response.write sql
response.end
conexao.execute(sql)

O erro é o mesmo postado acima, mesmo com o bd fechado...há possibilidade de ser erro do host?

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

 

[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x69dc Thread 0x104 DBC 0x19924fc Jet'.

 

/loja/atualiza_comp.asp, line 102

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual a linha do erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nessa parte:

sql = sql & "where cod_produto=" & Request("cod_produto")

 

O erro é do query string suponho, lembrando que cod_produto é o campo de auto-numeração

Compartilhar este post


Link para o post
Compartilhar em outros sites

como voce sabe que é nessa parte? qual é a linha 102?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A linha 102 aponta para esta parte sql = sql & "where cod_produto=" & Request("cod_produto")...

por isto...é que tenho um formulário que recebe os valores do bd, depois de atualizar os dados no form, passa para esta página de atualização...aí que dá o erro...

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas como esta seu codigo?

 

la em cima postou como se estivesse tudo numa linha

 

sql = "update tb_produtos set categoria='" & categoria & "', cod_tsi= '" & cod_tsi & "', nome= '" & nome_prod & "', descricao= '" & descricao & "', foto= '" & cfoto & "', preco1= '" & preco1 & "', preco2= '" & preco2 & "', preco3= '" & preco3 & "', preco4= '" & preco4 & "', preco5= '" & preco5 & "', preco6= '" & preco6 & "', preco7= '" & preco7 & "', preco8= '" & preco8 & "', preco9= '" & preco9 & "', preco10= '" & preco10 & "', caracteristica1= '" & caracteristica1 & "', caracteristica2= '" & caracteristica2 & "', caracteristica3= '" & caracteristica3 & "', caracteristica4= '" & caracteristica4 & "', caracteristica5= '" & caracteristica5 & "', caracteristica6= '" & caracteristica6 & "', caracteristica7= '" & caracteristica7 & "', caracteristica8= '" & caracteristica8 & "', caracteristica9= '" & caracteristica9 & "', caracteristica10= '" & caracteristica10 & "', caracteristica11= '" & caracteristica11 & "', caracteristica12= '" & caracteristica12 & "', itemincluso1= '" & itemincluso1 & "', itemincluso2= '" & itemincluso2 & "', itemincluso3= '" & itemincluso3 & "', itemincluso4= '" & itemincluso4 & "', itemincluso5= '" & itemincluso5 & "', itemincluso6= '" & itemincluso6 & "', itemincluso7= '" & itemincluso7 & "', itemincluso8= '" & itemincluso8 & "', itemincluso9= '" & itemincluso9 & "', itemincluso10= '" & itemincluso10 & "', info1= '" & info1 & "', info2= '" & info2 & "', info3= '" & info3 & "', info4= '" & info4 & "', info5= '" & info5 & "', sis_operacional= '" & sist_operacional & "', garantia= '" & garantia & "', marca= '" & marca & "', promocao= '" & promocao & "' where cod_produto = "& request("cod_produto")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom está tudo numa só linha...somente a partir do where que coloquei assim:

sql = sql & " where cod_produto=" & Request("cod_produto")
porém colocando tudo na mesma linha ou fazendo assim, dá o mesmo erro...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah ta

 

beleza

 

todos os campos sao testo mesmo?

 

voce sempre fecha suas conexoes com o db?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilizando

conexao.close 
set conexao = nothing
Continua dando erro...

 

Alguns campos são do tipo memorando também...lembrando que eu estou usando um esquema de upload também...

Compartilhar este post


Link para o post
Compartilhar em outros sites

e como esdta recupoerando os dados do form?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.