CLAUSULA UPDATE COM ASP

FFCOUTO 23/03/2005 18:43:40
#74573
Caros colegas estou com problemas ao executar uma cláusula UPDATE em uma página ASP no servidor que hospeda meu site. Abaixo segue o comando que preciso executar e o erro que está retornando.

[txt-color=#ff0000]UPDATE Eventos SET Acessos = Acessos+1 WHERE CodigoEvento = 1; [/txt-color]

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.

O que devo fazer para corrigir o erro ? A conexão do db é feita da seguinte forma: DBQ=d:\domains\meusite\db\ppcom.mdb;Driver={Microsoft Access Driver (*.mdb);}

Socorro !
USUARIO.EXCLUIDOS 23/03/2005 19:02:15
#74577
Dica para conectar ao base de dados

Set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\domains\meusite\db\ppcom.mdb"
SQL = "SUA SQL"
Conexao.Execute(SQL)


Quanto ao seu problema, não tente CONCATENAR na já na hora de executar
E PEGUE Primeiro o valor do accesso pra depois atualizar
Faça assim


Set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\domains\meusite\db\ppcom.mdb"
SQL = "Select Acessos from Eventos WHERE CodigoEvento = 1"
SET BD = Conexao.Execute(SQL)
vAcessos = BD.FIELDS("ACCESSOS")
vAcessos = vAcessos + 1
Set BD = Nothing
SQL = "UPDATE Eventos SET Acessos = " & vAcessos & " WHERE CodigoEvento = 1"
Conexao.Execute(SQL)


Sacou.. primeiro vc consulta, ver o número de acessos, armazena em uma variável, depois soma por 1, e depois pega o valor e atualiza na tabela...
FFCOUTO 24/03/2005 09:23:54
#74635
Caro colega

A forma que você indicou da consulta funciona corretamente, menos na minha página ASP, o que eu quero saber porque está ocorrendo este erro ?
USUARIO.EXCLUIDOS 24/03/2005 09:25:15
#74636
Qual é o Erro?
Entre em detalhes...
FFCOUTO 24/03/2005 09:42:31
#74646
Este é o erro:

[txt-color=#0000ff]Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.[/txt-color]
USUARIO.EXCLUIDOS 24/03/2005 09:47:48
#74648
Ahh.. sei...
Este erro ocore quando a PASTA com o MDB, não está configurada corretamente para ATUALIZAR/GRAVAR INFORMAÇÕES...
Se vc estiver usando o INTERNET INFORMATION SERVICES no seu computador, vá até a pasta onde se encontra o MDB, e coloque as permissões como COMPLETA, acesso total...
Se estiver em um domínio... www.algumacoisa.com.bre
Você deve ter colocado o MDB em uma pasta PRÓ“PRIA...
Entre em contato com o SUPORTE do seu HOSTING para saber qual a pasta onde o MDB deve realmente ficar...
Pois esta pasta já tem as permissões completas de acesso..
Entendeu.. faça isso e tudo vai dar certo.
FFCOUTO 05/04/2005 18:49:47
#76883
Pessoal, valeu pela ajuda !
O erro não era configuração das pastas no servidor ou erro de programação. O problema era a versão do Access que estava usando. Atualizei o bd para a versão 2000 e tudo funcionou perfeitamente.
Tópico encerrado , respostas não são mais permitidas