Ir para conteúdo

POWERED BY:

Arquivado

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

beto_solobó

ASP e SQL

Recommended Posts

Olá a todos.. tenho uma dúvida e nada melhor do que os fóruns para recorrer...

 

Seguinte:

 

Preciso pegar as informações de um formulário e atualizar as informações do banco de dados com elas.

 

Já pesquisei e achei umas coisas prontas na net, mas tá dando pau:

 

Tipo de erro:

Microsoft JET Database Engine (0x80040E07)

Tipo de dados imcompatível na expressão de critério.

 

Creio que seja simples, mas tá me dando uma dor de cabeça danada aqui...

 

O processo:

 

Pagina com lista de produtos. Depois clico num produto e exibo as especificações dele. Daí tenho a opção de alterar alguma info, e por fim, dou um "enviar" no formulário que chama outra página com as instruções de update no banco de dados.

 

Aí que tá o pau!!!! Ele retorna este erro que coloquei acima.

 

Alguém tem algum pronto para que eu possa comparar com o meu? Ou será que fica mais fácil tentar arrumar o meu?

 

Aguardo ajuda de todos!

 

Abraços.

 

Beto :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha só, pelo erro que deu realmente parece ser alguma coisa simples, parece ser erro no código, poste seu código ai que damos uma olhada onde está o erro.

 

Mas aparentemente, você está tentando inserir algum tipo de dado que não é o que a tabela está esperando, por exemplo passa um texto quando ela está esperando um número.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aí Cláudio... meu código...

 

Response.Buffer = True
Set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open ConString

Session("id") = Request.Form("codigo_pro")
Session("nome") = Request.Form("nome_pro")
Session("categoria") = Request.Form("categoria")
Session("fabricante") = Request.Form("fabricante")
Session("linha") = Request.Form("linha")
Session("chamada") = Request.Form("chamada")
Session("info") = Request.Form("info")
Session("exib") = Request.Form("exib")

set RS_ALTERA = Server.CreateObject("ADODB.Recordset")
RS_ALTERA.ActiveConnection = ConString
RS_ALTERA.Source = "SELECT * FROM produtos WHERE codigo_pro = "&Session("id")&" "
RS_ALTERA.CursorType = 0
RS_ALTERA.CursorLocation = 2
RS_ALTERA.LockType = 3
RS_ALTERA.Open()

RS_ALTERA("codigo_pro") = Session("id")
RS_ALTERA("nome_pro") = Session("nome")
RS_ALTERA("codigo_categ") = Session("categoria")
RS_ALTERA("codigo_fab") = Session("fabricante")
RS_ALTERA("codigo_lin") = Session("linha")
RS_ALTERA("chamada") = Session("chamada")
RS_ALTERA("info") = Session("info")
RS_ALTERA("exib") = Session("exib")

RS_ALTERA.Update
RS_ALTERA.Close

Conexao.Close

Response.Redirect "inicio.asp?modulo=gpro"

Acho que deve ser mesmo o que você a falando... um texto no lugar de um numero... vou verificar aqui...

Compartilhar este post


Link para o post
Compartilhar em outros sites

quais sao campos numericos?

 

para todos mude

 

Session("linha") = Request.Form("linha")

por

 

Session("linha") = CINT(Request.Form("linha"))

isso é apenas erro de tipos mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala galera...

 

Obrigado mesmo pela atenção de vocês...

 

Os dois acertaram! Era só um conflito no banco de dados. Número e Texto.

 

Tudo resolvido por aqu!

 

Brigadão de novo!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perfeito entao

 

Abraços

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.