Ir para conteúdo

Arquivado

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

estranho.com

SQL não esta atualizando

Recommended Posts

olá pessoal..

 

estou com o seguinte problema..

 

eu fiz uma página de mural de recados..

nela só mostra mensagens aceitas pelo administrador..

 

na pagina do administrador só mostra as mensagens ainda não aceitas.

nesta pagina mostra os recados com dois links na frente "deletar" e "aceitar"

 

de tudo isso só não estou conseguindo o "aceitar"...

 

eu fiz da seguinte maneira..

na pagina do mural a pessoal envia seu recado q é cadastrado no banco.

no banco de dados ha um campo chamado mural de valor padrão "0"

na pagina mural só mostra registros com o campo mural = "1"

na pagina administrador mostra os registros com o campo mural = "0"

 

quando o cliente clica em aceitar ele envia o registro para uma página onde será alterado o valor mural.

 

 

--------------------------------------- code da pagina do administrador---------------------------

<%
	 Dim cxnome
	 Dim cxemail
	 Dim cxmensagem
	 Dim OK	 
	 Dim ConnectString
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../dados/banco.mdb")
	Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnectString
 ' a conexão ODBC a 
	 'criar na máquina
	 ' pode usar conexões DSNLess
	 Set rs = Server.CreateObject("ADODB.Recordset") 
	 OK = 1 ' OK é para controlo de validação
	 ' irá então validar o e-mail	 
 If Len(Request.form("cxemail")) > 0_
 and Len(Request.form("cxemail")) < 5 Then
		  OK = 0
	 Else
		  If InStr(1, Request.form("cxemail"), "@", 1) < 2 Then
			   OK = 0
		  Else
	If InStr(1,Request.form("cxemail"), ".", 1) < 4 Then
		 OK = 0
	End If
		  End If
	  End If
'depois de validado o e-mail vamos validar o resto das entradas	
   if len(Request.form("cxnome")) < 1 then
	  OK = 0
   end if   
   if len(Request.form("cxmensagem"))<= 8 then
	  OK = 0
   end if
   
	 ' agora vamos buscar as mensagens na Base de Dados
	 ' ordenadas por data
	 SQLStmt = "SELECT * FROM visitas where mural = '0'"
	 rs.Open SQLstmt,Conn,1,2
%>

<html>
<head>
<title>Livro de Visitas</title>
</head>
<body>
<div align="center"><center>
	<table border="0" width="90%">
  <tr>
	<td width="100%"><div align="center"><center>
<table border="0" width="90%">
	  <%While Not rs.EOF%>
	  <tr>		
		<td width="100%" bgcolor="#000080">
		 <font face="Arial" color="#E7F4D8"><strong>Enviado em </strong>
		 </font><big><font
		color="#00FF00"><em><%=rs("data")%>	</em></font></big>
<font face="Arial"
		color="#E7F4D8"><strong>por  </strong>
</font><font color="#00FF00"><em>
<a href="mailto:<%=rs("email")%>"><big><%=rs("nome")%></big></a>
<br>
		</em></font><div align="center"><center>
<table border="0" width="70%">
		  <tr>
			<td width="100%"><p align="center">
<font color="#FFFF80" face="Arial">
		 <strong><%=rs("mensagem")%></strong>   </font>
<font color="#FFFFFF" face="Arial"><a href="apaga_main.asp?id=<%=rs("id")%>">Apagar</a>  <a href="aceitar.asp?id=<%=rs("id")%>&ip=<%=rs("ip")%>&data=<%=rs("data")%>&nome=<%=rs("nome")%>&email=<%=rs("email")%>&mensagem=<%=rs("mensagem")%>&mural=1">Aceitar</a></font></td>
		  </tr>
		</table>
		
	</center></div></td>
		</tr>
		<%
		  rs.MoveNext 
		wend
		rs.close%>
	</table>
	</center></div></td>
  </tr>
</table>
</center></div>
</form>
</body>
</html>
- http://forum.imasters.com.br/public/style_emoticons/default/excl.gif -- http://forum.imasters.com.br/public/style_emoticons/default/excl.gif--- - http://forum.imasters.com.br/public/style_emoticons/default/excl.gif----- - code da pagina aceitar---------------------------

<%

If IsEmpty(Request.QueryString("mural")) OR NOT IsNumeric(Request.QueryString("mural")) Then

Set conObj = Server.CreateObject("ADODB.Connection")
conObj.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../dados/banco.mdb") & ";"

id = Request.Form("id")
ip = Request.Form("ip")
data = Request.Form("data")
nome = Request.Form("nome")
email = Request.Form("enail")
mensagem = Request.Form("mensagem")
mural = Request.Form("mural")

Set RS = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM visitas WHERE id AND ip AND data AND nome AND email AND mensagem AND mural"

RS.Open SQL, Conn, 2, 2
Executar = "UPDATE visitas SET mural = 1 "
Set RecSet = Conn.Execute(Executar)
End if

Set conn = nothing
set rs = nothing
Response.Redirect("visitas.asp")
%>
--------------------------------------------------------------------------------------

como fazer o update de maneira correta??? http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

na página que faz o update coloque assim

id = Request("id")
ip = Request("ip")
data = Request("data")
nome = Request("nome")
email = Request("enail")
mensagem = Request("mensagem")
mural = Request("mural")
If mural="1" and id<>"" Then
Executar = "UPDATE visitas SET mural = 1 WHERE id="&cint(id)&""
Set RecSet = Conn.Execute(Executar)
Set conn = nothing
set rs = nothing
Response.Redirect("visitas.asp")
End if

Compartilhar este post


Link para o post
Compartilhar em outros sites

na página que faz o update coloque assim

id = Request("id")
ip = Request("ip")
data = Request("data")
nome = Request("nome")
email = Request("enail")
mensagem = Request("mensagem")
mural = Request("mural")
If mural="1" and id<>"" Then
Executar = "UPDATE visitas SET mural = 1 WHERE id="&cint(id)&""
Set RecSet = Conn.Execute(Executar)
Set conn = nothing
set rs = nothing
Response.Redirect("visitas.asp")
End if

 

 

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif VLW Jonathan deu certo aqui.... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara to com um problema semelhante naum consigo atualizar meu banco de dados dá um erro de "Erro de sintaxe (operador faltando) na expressão de consulta 'Codigo='." ja troquei as aspas num sei oq ta acontecendo vo postar o codigo aqui se alguem souber oq tá errado me dá uma força ai... valeu!

 

<% Option Explicit %>
<%
'Declarar variáveis
Dim oConn, sSql, sCodigo, rsEditar, sContato, sEscola, sEndereco, sCidade, sBairro, sUF, sCep, sTelefone, sEmail, sMaquinas, sSerie, sVencimento, sDias, sAnotacoes, sCliente, sDemo, sMala

'Ligação à base de dados
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("Curso.mdb")

'O ID que veio pela Querystring
sCodigo = Request.Querystring("Codigo")

'Vamos buscar os dados do formulário
sContato = Request.Form("tContato")
sEscola = Request.Form("tEscola")
sEndereco = Request.Form("tEndereco")
sCidade = Request.Form("tCidade")
sBairro = Request.Form("tBairro")
sUF = Request.Form("tEstado")
sCep = Request.Form("tCep")
sTelefone = Request.Form("tTelefone")
sEmail = Request.Form("tEmail")
sMaquinas = Request.Form("tMaquinas")
sSerie = Request.Form("tSerie")
sVencimento = Request.Form("tVencimento")
sDias = Request.Form("tDias")
sAnotacoes = Request.Form("tAnotacoes")
sCliente = Request.Form("tCliente")
sDemo = Request.Form("tDemo")
sMala = Request.Form("tMalaDireta")

'String SQL para apagar o registo com esse Codigo
sSql = "UPDATE Contatos SET Contato ='"& sContato &"',Escola ='"& sEscola &"',Endereco ='"& sEndereco &"',Cidade ='& sCidade &',Bairro ='& sBairro &',Estado ='& sUF &',Cep ="& sCep &",Telefone ="& sTelefone &",Email ='"& sEmail &"',Maquinas ="& sMaquinas &",Serie ="& sSerie &",Vencimento ="& sVencimento &",Dias ="& sDias &",Anotacoes ='"& sAnotacoes &"',Cliente ='& sCliente &',Demo='& sDemo &',MalaDireta='& sMala &' WHERE Codigo="&sCodigo&""


'Vamos executar a query
Set rsEditar = oConn.Execute(sSql)

'Limpar os objectos
oConn.Close
Set oConn = Nothing
Set rsEditar = Nothing

'E voltamos à página principal
Response.Redirect("default.asp")
%>

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.