Ir para conteúdo

POWERED BY:

Arquivado

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

Gruger

[Resolvido] Problema com Update Table

Recommended Posts

Olá pessoal!

 

Estou tentando atualizar os campos de uma tabela baseado em dados recebidos de uma pagina formulário..

 

Segue o código:

 

CODE
<%

' Atualização dos dados recebidos

nome = Request.QueryString("nome")

categoria = Request.QueryString("categoria")

conteudo = Request.QueryString("conteudo")

id = Request.QueryString("id")

AbreConexao

Set rs = Createobject("ADODB.recordset")

set Rs.ActiveConnection = Conexao

Sql = "UPDATE dicas SET nome = '"&nome&"' WHERE id = "&id&" "

Conexao.Execute(Sql)

Sql = "UPDATE dicas SET categoria = '"&categoria&"' WHERE id = "&id&" "

Conexao.Execute(Sql)

Sql = "UPDATE dicas SET conteudo = '"&conteudo&"' WHERE id = "&id&" "

Conexao.Execute(Sql)

FechaConexao

%>

 

Não sei onde está o erro. Recebo a seguinte mensagem:

 

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta 'id ='.

/fgp/update_dica.asp, line 21

 

O id é autonumeração, nome e categoria são textos e conteudo é memorando...

Não sei qual o erro...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta isso:

Sql = "UPDATE dicas SET nome = '"&nome&"' WHERE id = "&id&
Conexao.Execute(Sql)Sql = "UPDATE dicas SET categoria = '"&categoria&"' WHERE id = "&id
Conexao.Execute(Sql)Sql = "UPDATE dicas SET conteudo = '"&conteudo&"' WHERE id = "&id
Conexao.Execute(Sql)

obs: Pq você ñ faz três updates ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

aparentemente id esta vazio

 

de onde recupera?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ué, eu estava fazendo 3 Updates..

Seu código é exatamente igual ao meu =/

 

Testei imediatamente o seu e vi que deu erro de compilação.. Acho que faltavam &" após WHERE id = "&id

Fiz essa alteração e continuou dando o mesmo erro (afinal, os códigos ficaram iguais)

Compartilhar este post


Link para o post
Compartilhar em outros sites

ID vem do seguinte formulário:

 

<% AbreConexao
		id = request.querystring("id")
		Sql = "SELECT * FROM dicas WHERE id =" & id & ""
		Set rs = Server.CreateObject("ADODB.Recordset")	 
		rs.Open Sql, ConStr, 3, 3
		conteudo = rs("conteudo")
		FechaConexao
		%>

<form method="get" action="update_dica.asp?id=<%=id%>">

O qual recebe ID de uma busca realizada na pagina anterior:

<a href="edita_dica.asp?id=<%=rs("id")%>" class="principal">Editar</a>

 

Sei que esta parte funciona pois o link de "Apagar" recebe ID e realiza a operação com sucesso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

na pagina que nao ta pegando manda escrever o valor de id para ver se esta recebendo correto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentar colocar aspas simples no id do where assim:

 

 

<%' Atualização dos dados recebidosnome = Request.QueryString("nome")categoria = Request.QueryString("categoria")conteudo = Request.QueryString("conteudo")id = Request.QueryString("id")AbreConexaoSet rs = Createobject("ADODB.recordset")		set Rs.ActiveConnection = ConexaoSql = "UPDATE dicas SET nome = '"&nome&"' WHERE id = '"&id&"' "Conexao.Execute(Sql)Sql = "UPDATE dicas SET categoria = '"&categoria&"' WHERE id = '"&id&"' "Conexao.Execute(Sql)Sql = "UPDATE dicas SET conteudo = '"&conteudo&"' WHERE id = '"&id&"' "Conexao.Execute(Sql)FechaConexao%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

De fato, ele não está recebendo o valor da ID do formulário..

Agora não sei porque isso...

O form está aparentemente correto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

como esta passando o id para esta pagina?

Compartilhar este post


Link para o post
Compartilhar em outros sites

<form method="get" action="update_dica.asp">
		  Nome: <input type="text" value="<%=rs("nome")%>" name="nome">
		    
		  ID: <input type="text" disabled="disabled" value="<%=rs("id")%>" name="id">
			<hr>		  </td></tr>
		<tr>
		  <td><blockquote>
		  <b>Categoria:</b> <select name="categoria">
		<%
			AbreConexao

			Set rs = Createobject("ADODB.recordset")
			set Rs.ActiveConnection = Conexao
			SQL = "SELECT * FROM categorias_dicas ORDER BY nome"
			rs.Open SQL
			rs.MoveFirst
			Do While not rs.EOF%>
			<option name="<%=rs("nome")%>"><%=rs("nome")%></option>
			<%
			rs.MoveNext
			Loop
			rs.Close
			FechaConexao 
			%>
		  </select>  <p>
		<b>Conteúdo:</b> <p><textarea name="conteudo" cols="50" rows="10"><%=conteudo%></textarea><p>
		<input type="submit" value="Editar">
			</blockquote></td></form>

Obs.: O campo ID aparece preenchido corretamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao pode ser disabled

 

Pois nao passa o valor

 

Use Read Only se for para mostrar e nao puder alterar

Compartilhar este post


Link para o post
Compartilhar em outros sites

De nada

 

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.