Jump to content


Photo

Erro No Insert


  • Faça o login para participar
4 replies to this topic

#1 psillus

psillus

    Normal

  • Usuários
  • 75 posts
  • Sexo:Não informado

Posted 15/06/2005, 02:03

Senhores,

Estou com um problema quando tento realizar um INSERT, e que mesmo após utilizar dicas e dicas de outros tópicos, ainda não consegui resolver.

O código básico:

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=C:\Inetpub\wwwroot\xxxxxx\dados\Db.mdb"

exec = "INSERT INTO TD_SourcesTbl (Name, URL, Desc) VALUES ('" & var1 & "', '" & var2 & "', '" & var4 & "')" 

set rsquery = Conn.execute(exec)

No caso, var1, var2 e var4 já são artifícios de vCampo1(z), vCampo2(z), vCampo4(z), não poder ser " ".

Já acrescentei no insert o response.write sqlstmt e não consigo ver o erro.
Já verifiquei o nome dos campos e estão corretos.
Sei que o erro está em var4, pois o insert funciona nas 2 outras alternativas.
No caso, var4 é, em um site de busca, o que se refere a descrição do endereço, ou seja, texto.
Se eu arranco o insert e dou simplesmente um response.write var1, var2 e var4, ele escreve corretamente.
Por outro lado, se simplesmente tiro do insert o var1 e o var2 e substituo o var4 por xxxxxx com aspas simples, o erro continua a aparecer.
O banco de dados é access, o campo é memorando e está (requerido=não, permitir comprimento 0 = sim).

Como o script de busca é de terceiros, verifiquei se as colunas poderiam ter alguma espécie de vínculo que impedisse a gravação, e não há.

Bem, alguém tem alguma outra dica?

Obrigado!

psillus

Ops!
Quando eu estava a beira do suicídio encontrei o link Palavras reservadas

Como eu nunca tinha ouvido falar delas, fiquei 2 dias brigando feito besta.
:D

Aproveito e indico para os que tiverem o mesmo problema, que neste caso não é necessário mudar o nome do campo na tabela. Basta colocar  [nomedocampo] = nomedocampo.


Edição feita por: psillus, 15/06/2005, 03:17.


#2 Generation

Generation

    Super Veterano

  • Usuários
  • 1546 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 15/06/2005, 08:10

rsquery é?? voce pode usar somente o Conn.Execute.
tente assim:

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=C:\Inetpub\wwwroot\xxxxxx\dados\Db.mdb"
exec = "INSERT INTO TD_SourcesTbl (Name, URL, Desc) VALUES ('" & var1 & "', '" & var2 & "', '" & var4 & "')" 
Conn.execute(exec)

caso de erro tente com a string de conexao abaixo..
Conn.open "DBQ=C:\Inetpub\wwwroot\xxxxxx\dados\Db.mdb;Driver={MIcrosoft Access Driver (*.mdb)}"

Agora caso nao seja nada disso, poste o erro que esta ocorrendo.

T+
Favoritos : | OpenSuse | Opera | Firefox | NetBeans | GMail | Leia As Regras | Use a Busca | Como fazer Perguntas Inteligentes |
“Obstáculos são aquelas coisas medonhas que você vê quando tira seus olhos de seu objetivo” (Henry Ford)
“É impossível para um homem aprender aquilo que ele acha que já sabe.” (Epíteto)
“A única razão da existência do tempo é para que todas as coisas não aconteçam de uma vez.”(Albert Einstein)

#3 psillus

psillus

    Normal

  • Usuários
  • 75 posts
  • Sexo:Não informado

Posted 15/06/2005, 11:51

Generation,

Valeu pela dica, mas consegui resolver.
Talvez não tenha ficado claro, no post anterior, já que eu fiz a pergunta e depois editei um "Code" no mesmo post citando o erro, alertando sobre estas benditas "palavras reservadas".
Estava tudo certo, eu já tinha montado e desmontado tudo várias vezes.
Eu só não sabia que "Desc" que a pessoa que escreveu o script usou, é uma palavra reservada para o access, ou melhor, eu não sabia que existiam estas palavras e, não podem ser utilizada sem escrever Desc como [Desc].
Desculpe a confusão e agradeço mais uma vez sua ajuda.

psillus

#4 Luis Otávio

Luis Otávio

    Super Veterano

  • Usuários
  • 3113 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre
  • Interesses:- Desenvolvimento de aplicações Web com linguagem server-side PHP.

    - Desenvolvimento de aplicações Web com linguagem cliente-side JavaScript, conhecedor e utilizador da biblioteca jQUERY e todas suas características.

    - Otimização de Desempenho aplicados a performance de banco de dados Mysql.

    - Otimização de Desempenho para servidores Web utilizando-se como Webserver NGINX em conjunto com Varnish.

    - Sólidos conhecimentos no CMS WordPress para novas implementações, manutenção, criação e otimização de Plugins.

    - Práticas de atendimento, relacionamento e suporte ao cliente. Trabalhando voltado ao público desde o lançamento da empresa iPORTO.COM, criando laços e vínculos com os mais de Mil clientes da empresa e os braços do grupo.

Posted 15/06/2005, 13:09

Generation,

Valeu pela dica, mas consegui resolver.
Talvez não tenha ficado claro, no post anterior, já que eu fiz a pergunta e depois editei um "Code" no mesmo post citando o erro, alertando sobre estas benditas "palavras reservadas".
Estava tudo certo, eu já tinha montado e desmontado tudo várias vezes.
Eu só não sabia que "Desc" que a pessoa que escreveu o script usou, é uma palavra reservada para o access, ou melhor, eu não sabia que existiam estas palavras e, não podem ser utilizada sem escrever Desc como [Desc].
Desculpe a confusão e agradeço mais uma vez sua ajuda.

psillus

interessante...
* Otávio Nogueira
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto

#5 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 15/06/2005, 13:50

Só complementando a informação, o DESC não é reservado ao ACCESS não, mas para todos (creio eu) BDs.
Eduardo Batista




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq