Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
prazuk

Erro ao incluir dados com UPDATE

Recommended Posts

Pessoal estou necessitando de uma ajuda de vocês.

Tenho um banco de dados com um cadastro com informações pessoais como email, telefone, celular, profissão e outras.

Em uma determinada página quero escolher o nome de uma pessoa já cadastrada e modificar sua profissão com base em uma lista.

Porém, não estou conseguindo atualizar o banco de dados. Aparece somente uma página em branco sem qualquer mensagem de erro.

Acho que o erro está na cláusula WHERE. O comando SQL não está reconhendo '"&nome como um campo do formulário.

Se puderem me ajudar.......

Essa é página do formulário:

<%
Option Explicit
Response.Expires = 0
Dim objConn, objRs, strQuery, strConnection

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=" & Server.MapPath("banco.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"

strQuery = "SELECT * FROM cadastro WHERE profissao IS NULL ORDER BY nome"

Set ObjRs = objConn.Execute(strQuery)
%>

<html><head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />


<title>:: pol ::</title>
</head>

<body>

<p>

<form method="POST" action="atualiza.asp" name="form">

<table width=600 border=5 bordercolor=f5f5f3 align=center cellpadding=8>

<tr>

<td class=texto-tabela-dados>
Escolha um nome
</td>
<td class=texto-tabela-dados>
<select name="nome">

<%While Not objRS.EOF %>

<option><%Response.write objRS("nome")%></option>
<%
'Move para o próximo registro
objRS.MoveNext
Wend
'Fechando as conexões
objRs.close
objConn.close
Set objRs = Nothing
Set objConn = Nothing
%>

</select>
</td>
</tr>

<tr>
<td class=texto-tabela-dados>
Escolha a profissão
</td>
<td class=texto-tabela-dados>
<select name="profissao">
<option selected>Escolha a situação</option>
<option>medico</option>
<option>advogado</option>
<option>dentista</option>
</select>
</td>
</tr>
</table>

<center>
<input type=submit name=submit value=Incluir style="{<font-family:Arial; font-size:12}"></center>
</form>
</div>


</body>
</html>

E esse é o aquivo atualiza.asp:

<%
Option Explicit
Response.Expires = 0
Dim objConn, objRs, strConnection, strQuery, nome, profissao

nome = request.form("nome")
profissao = request.form("profissao")

Set objConn = Server.CreateObject("ADODB.Connection")

objConn.Open "DBQ=" & Server.MapPath("banco.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"

strQuery = "UPDATE cadastro SET profissao = '"&profissao&"' WHERE nome = '"&nome

On error Resume Next
Set ObjRs = objConn.Execute(strQuery)
objConn.close
Set objRs = Nothing
Set objConn = Nothing
if err = 0 Then
response.redirect "sucesso.asp"
end if
%>

Editado por Goliathvv
Utilize a tag [code] para destacar o trecho de codigo e tornar o texto mais legivel. Se nao souber como utilizar tal tag, consulte o topico entitulado "Tags [code]: Como e para que usar?" em

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cláusula UPDATE

UPDATE [NOME_TABELA] SET [NOME_CAMPO] = [EXPRESSÃO][...n] WHERE [CONDICAO_SQL]

atualiza.asp

<%

Option Explicit

Response.Expires = 0

Dim objConn, objRs, strConnection, strQuery, nome, profissao

nome = request.form("nome")

profissao = request.form("profissao")

Set objConn = Server.CreateObject("ADODB.Connection")

objConn.Open "DBQ=" & Server.MapPath("banco.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"

strQuery = "UPDATE cadastro SET profissao = '"&profissao&"' WHERE nome = '"&nome

On error Resume Next

Set ObjRs = objConn.Execute(strQuery)

objConn.close

Set objRs = Nothing

Set objConn = Nothing

if err = 0 Then

response.redirect "sucesso.asp"

end if

%>

profissao = "&profissao&" - retire os "&" da sua variável para ver se ele encontra o valor dela.

nome = '"&nome - faltou fechar aspas, faça a mesma coisa e retire o &.

Tente fazer alterações no seu código para que ele fique assim:

atualiza.asp

<%

Option Explicit

Response.Expires = 0

Dim objConn, objRs, strConnection, strQuery, nome, profissao

nome = request.form("nome")

profissao = request.form("profissao")

Set objConn = Server.CreateObject("ADODB.Connection")

objConn.Open "DBQ=" & Server.MapPath("banco.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"

strQuery = "UPDATE cadastro SET profissao = '"profissao"' WHERE nome = '"nome"

On error Resume Next

Set ObjRs = objConn.Execute(strQuery)

objConn.close

Set objRs = Nothing

Set objConn = Nothing

if err = 0 Then

response.redirect "sucesso.asp"

end if

%>

Tente fazer estas alterações e poste o resultado.

Falou!

Editado por nicolas.tanski
F7

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Não deu certo.............

    apareceu o seguinte erro:

    Microsoft VBScript compilation error '800a0401'

    Expected end of statement

    atualiza.asp, line 29

    strQuery = "UPDATE cadastro SET profissao = '"profissao"' WHERE nome = '"nome"

    -------------------------------------------------^

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário

    Entre para seguir isso  





    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×