Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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:
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...
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
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!!!
Perfeito entao
Abraços
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.