Ir para conteúdo
Fórum Script Brasil
  • 0

Erro Insert


Fabiana Silva

Pergunta

Olá Pessoal,

Fazendo um insert basico eu me deparei com o seguinte erro

A operação deve usar uma consulta atualizável.

Segue abaixo o codigo da conexão que eu acredito não haver problemas, pois se eu comentar a linha set rsquery = conex_mdb.execute(sqlstmt) a página abre normalmente.

Existe outra forma de se executar um comando sql???

Set conex_mdb = Server.CreateObject("ADODB.Connection")
caminho_mdb = "DBQ=" & server.mappath("bdimages.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
conex_mdb.Open caminho_mdb
sqlstmt = "insert into images (nome) values ('teste')"
set rsquery = conex_mdb.execute(sqlstmt) 

[]

Fabi

Link para o comentário
Compartilhar em outros sites

21 respostass a esta questão

Posts Recomendados

  • 0

oi

beleza?

aqui um exemplo pra vc

<%

'Conectando ao banco:

url_conexao = Server.MapPath("banco.mdb")

set conexao = Server.CreateObject("ADODB.Connection")

conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao

'criamos o sql, que vai inserir os dados no banco

sql = "insert into tabela (texto) values('texto')"

'executamos o sql, inserindo os dados..

set rs = conexao.execute(sql)

'mostramos mensagem de confirmação:

response.write "Seus dados foram inseridos com sucesso!"

%>

desde criar a conexao, criar o sql, e mostrar confirmação.

As coisas que podem variar no comando, estao em vermelho.

O restante é sempre igual, ao se fazer um INSERT!

Existem outras formas sim.. Mas eu uso essa, e sempre funcionou!

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Brigada Dark0...

pelo o que eu vi esta tudo correto...

não sei o que acontece...

criei um novo arquivo com o exemplo que voce passou veja só

<%
caminho_mdb = Server.MapPath("bdimages.mdb")
set conex_mdb = Server.CreateObject("ADODB.Connection")
conex_mdb.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&caminho_mdb
sql = "insert into images (nome) values ('fabi')"
set rs = conex_mdb.execute(sql)

response.write "Seus dados foram inseridos com sucesso!"
%>
e o erro foi o mesmo
Informações técnicas (para a equipe de suporte) Tipo de erro: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][Driver ODBC para Microsoft Access] A operação deve usar uma consulta atualizável. /sisupload/teste_bd.asp, line 6 Tipo de navegador: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Página: GET /sisupload/teste_bd.asp Hora: quarta-feira, 16 de junho de 2004, 11:57:48 Mais informações: Suporte da Microsoft
depois apenas para testar a conexão fiz o seguinte
<%
caminho_mdb = Server.MapPath("bdimages.mdb")
set conex_mdb = Server.CreateObject("ADODB.Connection")
conex_mdb.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&caminho_mdb

sql = "Select nome from images "
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conex_mdb

while not rs.EOF
response.write rs("nome")
rs.MoveNext
wend



response.write "Seus dados foram inseridos com sucesso!"
%>

o retorno foi o esperado...

enfim...

alguém tem alguma ideia?

seria possivel alguma configuração de pasta, permissao para atualizar...

sei la...

att

Fabi

Link para o comentário
Compartilhar em outros sites

  • 0

oi fabi

assim ó:

- Ao fazer o INSERT, você está tentando "ESCREVER" na pasta/banco

- Ao fazer o SELECT, você apenas está tentando "LER" os dados da pasta/banco

então, se a pasta onde o banco está, ou até mesmo o banco está marcado como somente leitura, sempre que você tentar usar Insert/Update/Delete não vai conseguir.

Só o Select vai funcionar!

então, olhe as propriedades da pasta e do banco, e veja se algum deles está marcado como "somente leitura"

ok?

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

tenta usar essa....

<%
set conn = createobject("adodb.connection")
conn.open "provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("fotos.mdb")
%> 

Mesmo alterando o tipo de conexão o problema não se altera....

acredito o problema não seja a conexão pois qd é excutado um recordset ele funciona normal...

caramba... o que sera que acontece, afinal é so um insert???

huh.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Voce tem que ver as permissões da pasta onde esta o BD, eu acho que foi o dark ou o Guto ou foi o Urso,´i não me lembro , mas um deles foi , que postou um artigo que ensina a configurar certinho o IIS e todas suas permissões, ve se voce acha... Qualquer coisa poste ai...

Link para o comentário
Compartilhar em outros sites

  • 0

primeiro olha o que eu falei no post anterior

Link para o comentário
Compartilhar em outros sites

  • 0

se não me engano, dá uma olhada no tópico de tutoriais

é por lá que tem configurações

ate mais

Link para o comentário
Compartilhar em outros sites

  • 0
Deixa eu ver, voce esta testando o codigo na sua maquina , certo?

isto é falha na configuração do IIS.

Oi Xuxu!!!

Acho que a resposta já foi dita.... neste POST, mas como sou enxirido e adoro complementar as coisas.... veja, tambem, se sua tabela possui campos requiridos ou valor padrão, pois muitas vezes o Access recusa valores na hora em que você vai inserir no banco .

OBS: os presentes do dia dos namorados pode mandar depois... laugh.gif

Bjão!!!

[urso]

Link para o comentário
Compartilhar em outros sites

  • 0

Meninos ....

olhem só tudo o que eu já fiz.

1. Fiz novo codigo

2. Testei a conexão do codigo (ok)

3. Mudei o tipo de conexão ao BD (nada)

4. Verifiquei propriedade somente leitura nas pastas (desmarcadas)

5. Verifiquei Configuração IIS (certinha)

e por ultimo, mas não menos importante ...

6. verifiquei se exite campos requeridos ou com valor padrão. (não há)

acho que vou reiniciar a máquina .....rs

tá florida...

Urso brigadaaaaa, meninos vocês tem mais alguma ideia????

sad.gif

FABI

Link para o comentário
Compartilhar em outros sites

  • 0

realmente.. acho que reiniciar a maquina devia ter sido a primeira opção..

pois pode ter alguma coisa no iis que não tá legal.. e reiniciando conserte.

me diz uma coisa.. você nunca rodou asp aí?

ou rodava, e agora que não ta funcionando?

Link para o comentário
Compartilhar em outros sites

  • 0

Reinicei a máquina ... E NADA

me diz uma coisa.. você nunca rodou asp aí?

ou rodava, e agora que não ta funcionando

então... acabei de testar um outro site aqui na minha máquina, e funcionou, mas não fui eu que fiz ... e o banco é sqlServer .

dei uma olhadinha no codigo e achei uma direfença

	Set rstInsereDados = Server.CreateObject("ADODB.Recordset")
	rstInsereDados.Open sqlInsereDados, conex_sql

onde sqlInsereDados contem uma instrução insert ...

neste caso foi criado um recordset sendo que o comando não retorna valores... (eu não sabia que poderia ser feito assim...)

enfim, fiz desta forma no meu codigo tambem e advinhem ....

acho que me resta apenas criar um NOVO BD ....

Link para o comentário
Compartilhar em outros sites

  • 0

EIS QUE O REGISTRO FOI INSERIDO!!!!!

É meninos, agora foi...

criei um novo bd, mas fora da minha pasta virtual e funcionou

agora dá pra continuar ...

nossa, que surra que eu levei, mas ta valendo ...

mas ainda vou descobrir o porque que não consigo atualizar BD ele estando dentro da pasta virtual ...

isso é possivel não é????

Valeu mesmo, pois muita coisa que foi postado aqui eu não sabia e daqui pra frente eu fico mais atenta...

Desculpem a Amolação e

BRIGADÃO!!!!!

BEIJOS A TODOS

Fabi

Link para o comentário
Compartilhar em outros sites

  • 0

oi fabi..

você já conseguiu, né?

olha só.. eu fiz um exemplo, que ia dar pra você testar, hehe

mas já que fiz.. se quiser, pega aí.. o link com ele funcionando é:

http://www.dark0.retrieve.com.br/sb/asp/insert/teste.asp

e pra você baixar é:

http://www.dark0.retrieve.com.br/sb/asp/insert/insert.zip

se não quiser, tudo bem.. mas ali tem um insert, select, delete..

é só um exemplo.. junto com um banco..

até mais

dark

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...