Ir para conteúdo

POWERED BY:

Arquivado

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

GuiWeb

Problemas para alterar o BD

Recommended Posts

Olá, agora o problema é outro.. eu até vi que no fórum existe uma pessoa com o mesmo problema, porém fiz o que falaram pra fazer, e não foi resolvido... então posto o código como eu alterei do original(somente foi alterado os nomes de tabela, BD, campo de formulários, variáveis e campo do BD)

 

<%'Força o programador a declarar todas as variáveis, evitando erro de digitação no uso das variéveisOption Explicit'Não deixa informações no CacheResponse.Expires = 0'Declaração das variáveisDim objConn, strQuery, sql_query, RsQuery, campo, sql, autonumDim ID, area, funcao, faixa, descricao, empresa, endereco, bairro, cidade, estado, telefone, email, senha, ObjRs'Atrubuição dos valores as respectivas variáveisarea = Request.Form("area")funcao = Request.Form("funcao")faixa = Request.Form("faixa")descricao = Request.Form("descricao")empresa = Request.Form("empresa")endereco = Request.Form("endereco")bairro = Request.Form("bairro")cidade = Request.Form("cidade")estado = Request.Form("estado")telefone = Request.Form("telefone")email = Request.Form("email")senha = Request.Form("senha")if email = "" thenemail = " "end ifif senha = "" thensenha = " "end ifid = Request.Form("id")'Cria o objeto RecordSet e atribui a variávelSet objConn =  Server.CreateObject("ADODB.Connection")'Abre a conexão com o banco de dados utilizando o Drive {Microsoft Access...'(para utilizar outro, ex: Paradox é só substituir o Drive pelo do Paradox)'(*.mdb) indica que o arquivo utiliza extensão mdbobjConn.Open "DBQ=" & Server.MapPath("vagas.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"strQuery = "UPDATE vagas SET area = '"&area&"', funcao='"&funcao&"', faixa='"&faixa&"', descricao='"&descricao&"', empresa='"&empresa&"', endereco = '"&endereco&"', bairro = '"&bairro&"', cidade = '"&cidade&"', estado = '"&estado&"', telefone = '"&telefone&"'  email = '"&email&"', senha = '"&senha&"'   WHERE id ="&id'Caso ocorra um erro esta função de erro será chamadaOn error Resume Next'Executaa inserção no Banco de DadosSet ObjRs = objConn.Execute(strQuery)'Fecha o Objeto de ConexãoobjConn.close'"APAGA" qualquer instancia que possa ter no objeto objRs e objConnSet objRs = NothingSet objConn = Nothingif err = 0 Then'Redireciona o usuário caso não tenha ocorrido erro na transaçãoresponse.redirect "ok.htm"ElseResponse.Write "ocorreu algo"end if%>

 

Na página para alterar os dados, eu peço ID, e os outros dados..

Não há erro escrito, o que fala é: Ocorreu algo, ou seja: IF esta errado..................

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte, faz pouco tem que mecho com asp *na pratica* ....vou tentar ajudar, e aprender com seu erro tbm...

Set objConn = Server.CreateObject("ADODB.Connection")objConn.Open =" & Server.MapPath("vagas.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"

strQuery= "UPDATE vagas SET area='" & area"', " strQuery = strQuery & "funcao=" & funcao & ", " strQuery = strQuery & "faixa=" & faixa & ", " strQuery = strQuery & "descricao=" & descricao & ", " strQuery = strQuery & "empresa=" & empresa ", " strQuery = strQuery & "endereco=" & endereco " " strQuery = strQuery & "Where id=" & id Set objConn=Conexao.Execute(strSQL)

Obs: fiz até o endereço e pulei para o id, depois continua com o resto do seu form. mas é nesse eskema!!Conexao é a variavel que você usa para abrir conexão, vcnão colocou aki a abertura da conexão do bando de dados, pode ser tbm isso que esteje dando o pau!flw ai. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei reformular o código fazendo essas alterações, porém continua dando erro interno - http 500.. o código ficou exatamente assim, veja se você tem um olho mais afiado e encontra o erro:

 

<%'Força o programador a declarar todas as variáveis, evitando erro de digitação no uso das variéveisOption Explicit'Não deixa informações no CacheResponse.Expires = 0'Declaração das variáveisDim objConn, strQuery, sql_query, RsQuery, campo, sql, autonumDim ID, area, funcao, faixa, descricao, empresa, endereco, bairro, cidade, estado, telefone, email, senha, ObjRsSet objConn =  Server.CreateObject("ADODB.Connection")objConn.Open "DBQ=" & Server.MapPath("vagas.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"area = Request.Form("area")funcao = Request.Form("funcao")faixa = Request.Form("faixa")descricao = Request.Form("descricao")empresa = Request.Form("empresa")endereco = Request.Form("endereco")bairro = Request.Form("bairro")cidade = Request.Form("cidade")estado = Request.Form("estado")telefone = Request.Form("telefone")email = Request.Form("email")senha = Request.Form("senha")  strQuery= "UPDATE vagas SET area='" & area"', "  strQuery = strQuery & "funcao=" & funcao & ", "  strQuery = strQuery & "faixa=" & faixa & ", "  strQuery = strQuery & "descricao=" & descricao & ", "  strQuery = strQuery & "empresa=" & empresa ", "  strQuery = strQuery & "endereco=" & endereco ", "  strQuery = strQuery & "bairro=" & bairro ", "  strQuery = strQuery & "cidade=" & cidade ", "  strQuery = strQuery & "estado=" & estado ", "  strQuery = strQuery & "telefone=" & telefone ", "  strQuery = strQuery & "email=" & email ", "  strQuery = strQuery & "senha=" & senha ", "  strQuery = strQuery & "Where id=" & id'Caso ocorra um erro esta função de erro será chamadaOn error Resume Next'Executaa inserção no Banco de DadosSet ObjRs = objConn.Execute(strQuery)'Fecha o Objeto de ConexãoobjConn.close'"APAGA" qualquer instancia que possa ter no objeto objRs e objConnSet objRs = NothingSet objConn = Nothingif err = 0 Then	'Redireciona o usuário caso não tenha ocorrido erro na transação	response.redirect "ok.htm"	ElseResponse.Write "ocorreu algo"end if%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

strQuery= "UPDATE vagas SET area='" & area & "', "

strQuery = strQuery & "funcao='" & funcao & "', "

strQuery = strQuery & "faixa='" & faixa & "', "

strQuery = strQuery & "descricao='" & descricao & "', "

strQuery = strQuery & "empresa='" & empresa "', "

strQuery = strQuery & "endereco='" & endereco "', "

strQuery = strQuery & "bairro='" & bairro "', "

strQuery = strQuery & "cidade='" & cidade "', "

strQuery = strQuery & "estado='" & estado "', "

strQuery = strQuery & "telefone='" & telefone "', "

strQuery = strQuery & "email='" & email "', "

strQuery = strQuery & "senha='" & senha "', "

strQuery = strQuery & "Where id=" & id

Não sei como estão seus campos no DB, mas se forem do tipo caracter você precisa passar aspa simples. Eu levei em consideração q todos são caracteres, menos o campo ID. Caso tenha mais algum q seja numérico, ou se ID não for numérico você altera as aspas simples.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hmm...Velho...tenta isso:strQuery = "UPDATE vagas SET area = '"&area&"', funcao='"&funcao&"', faixa='"&faixa&"', descricao='"&descricao&"', empresa='"&empresa&"', endereco = '"&endereco&"', bairro = '"&bairro&"', cidade = '"&cidade&"', estado = '"&estado&"', telefone = '"&telefone&"' email = '"&email&"', senha = '"&senha&"' WHERE id ="&idresponse.write(strQuery)responde.endVe o que aparece na tela:O que aparecer cola aqui pra gente...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vo chegar lá!

Agora o que está acontecendo é: o IF está sendo falso e retorna: OCORREU ALGUM ERRO, que é o que estava previsto na parte do código:

if err = 0 Then	'Redireciona o usuário caso não tenha ocorrido erro na transação	response.redirect "ok.htm"	ElseResponse.Write "ocorreu algo"end if

Bom, o código está assim agora:

<%'Força o programador a declarar todas as variáveis, evitando erro de digitação no uso das variéveisOption Explicit'Não deixa informações no CacheResponse.Expires = 0'Declaração das variáveisDim objConn, strQuery, sql_query, RsQuery, campo, sql, autonumDim ID, area, funcao, faixa, descricao, empresa, endereco, bairro, cidade, estado, telefone, email, senha, ObjRsSet objConn =  Server.CreateObject("ADODB.Connection")objConn.Open "DBQ=" & Server.MapPath("vagas.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"area = Request.Form("area")funcao = Request.Form("funcao")faixa = Request.Form("faixa")descricao = Request.Form("descricao")empresa = Request.Form("empresa")endereco = Request.Form("endereco")bairro = Request.Form("bairro")cidade = Request.Form("cidade")estado = Request.Form("estado")telefone = Request.Form("telefone")email = Request.Form("email")senha = Request.Form("senha")strQuery= "UPDATE vagas SET area='" & area & "', "strQuery = strQuery & "funcao='" & funcao & "', "strQuery = strQuery & "faixa='" & faixa & "', "strQuery = strQuery & "descricao='" & descricao & "', "strQuery = strQuery & "empresa='" & empresa &"', "strQuery = strQuery & "endereco='" & endereco &"', "strQuery = strQuery & "bairro='" & bairro &"', "strQuery = strQuery & "cidade='" & cidade &"', "strQuery = strQuery & "estado='" & estado &"', "strQuery = strQuery & "telefone='" & telefone &"', "strQuery = strQuery & "email='" & email &"', "strQuery = strQuery & "senha='" & senha &"', "strQuery = strQuery & "Where id=" & id'Caso ocorra um erro esta função de erro será chamadaOn error Resume Next'Executaa inserção no Banco de DadosSet ObjRs = objConn.Execute(strQuery)'Fecha o Objeto de ConexãoobjConn.close'"APAGA" qualquer instancia que possa ter no objeto objRs e objConnSet objRs = NothingSet objConn = Nothingif err = 0 Then	'Redireciona o usuário caso não tenha ocorrido erro na transação	response.redirect "ok.htm"	ElseResponse.Write "ocorreu algo"end if%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nas opções de seu browser desabilite "Mostrar erros HTTP amigáveis" assim terás uma descrição melhor do erro.

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.