Ir para conteúdo

POWERED BY:

Arquivado

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

dudosurf

[Resolvido] Mural de Recados

Recommended Posts

pessoal, estou tentando criar uma pagina de recados, mas toda vez que clico em postar é retornado o seguint erro!

 

Tipo de erro:

Erro de compilação do Microsoft VBScript (0x800A0409)

Constante de seqüência não finalizada

/sitedudo/action_recado.asp, line 10, column 60

con.execute ("INSERT INTO tb_recados (nome, email, mensagem)

 

já verifiquei os campos da tabela sql e está tudo correto.

 

esses são os codigos:

 

esse é o arquivo recado.asp

<!--#include file="conexao.asp" -->

<%
	call conectar()
	dim rs
	set rs = con.execute("SELECT * FROM tb_recados WHERE status = TRUE ORDER BY cod_recado DESC")
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>:: -- Elias Faiçal -- ::</title>
<style type="text/css">
<!--
	@import url("js_css/style.css");
-->
</style>

<script language="text/javascript" type="text/javascript" >
	function abre_janela(caminho,nome,tamanho) { 
  		window.open(caminho,nome,tamanho);
}
</script>

</head>

<body>

	<div id="corpo">
    
		<div id="banner">
        	<img src="img/banner.jpg" />
        </div> <!--Aqui termina o BANNER-->
        
<div id="conteudo"> 
        			           
		<!--Desenvolvimento do menu -->
    <div id="navegacao">
        	<h1>Navegação</h1>       
		<div id="menu">
			<ul>				
				<li><a href="default.asp" title="Home">« Home</a></li>
 				<li><a href="portfolio.asp" title="Portifólio">« Portfolio</a></li>
				<li><a href="recado.asp" title="Recados">« Recados</a></li>
				<li><a href="contato.asp" title="Contato">« Contato</a></li>
				<li><a href="#" title="No Orkut">« No Orkut</a></li>
			</ul>
		</div> <!--Aqui termina o MENU-->
	  </div> <!--Aqui termina o NAVEGAR --> 
      
    <div id="recado">
          	<h1>Deixar um recado?</h1>
            <div id="alvo_recado">
            
            <p><a href="javascript:;" onclick="abre_janela('comentar.asp', 'Comentários', 'width=550,height=440')">Postar!</a> </p>
              
			<div id="conteiner">	
            
			<h1 class="titulo">Lista de Recados</h1>
			
			<% if rs.eof then %>
			
			<h2>Nenhum recado cadastrado!</h2>
			
			<% 
				else 
				do while NOT rs.eof
			%>
			
			<h2><%=rs("nome")%> (<% =rs("email")%>)</h2>
			<h3><%=replace( rs("mensagem"), vbcrlf, "<br />" )%>
			<p><%=formatDateTime( rs("data_cadastro"), 1 )%></p></h3>
			
			<%	
				rs.movenext
				loop
				end if
			%>	
			</div>		
              
            </div><!--Aqui termina o ALVO_RECADO-->
    </div> <!--Aqui termina o RECADO-->      
      
<div id="arvore">
	<img src="img/arvore.jpg" />
</div>
      
  </div> <!--Aqui termina o CONTEUDO-->        
        <div id="rodape">
        	<img src="img/rodape.jpg" />
             <p> 2010 © - Elias Faiçal</p>
        </div>            
    </div> <!--Aqui termina o CORPO-->
	
</body>
</html>

<%
	call desconectar()
%>

esse é o arquivo comentar.asp

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>:: -- Elias Faiçal -- ::</title>


<script language="javascript" src="js-css/js_mural.js"> </script>

</head>
 
<body onunload="window.opener.location.refresh()">
<div id="topo"><img src="img/reca.jpg" alt="comente" width="550" height="72" /></div>

<div id="form_mural">
			<form name="mural" id="mural" action="action_recado.asp" method="post" onsubmit="return validarMural()">
				<label>Nome: </label>
				<input name="nome" type="text" class="cx" id="nome" maxlength="60" />
				<br />
				<label>E-mail: </label>
				<input name="email" type="text" class="cx" id="email" maxlength="80" />
				<br />
				<label>Mensagem: </label>
			    <textarea name="msg" rows="6" class="cx" id="msg"></textarea>
			    <br />
				<p>
				<input name="bt_postar" type="submit" class="cx2" id="bt_postar" value="Postar" />
				</p>
		  </form>
</div>
</body>
</html>
arquivo action_recado.asp
<!--#include file="conexao.asp" -->
<%
	dim nome, email, mensagem
		nome 		= request.Form("nome")
		email 		= request.Form("email")
		mensagem 	= request.Form("msg")
	
	call conectar
	' inserir
	con.execute ("INSERT INTO tb_recados (nome, email, mensagem) 
					VALUES ('"&nome&"', '"&email&"', '"&mensagem&"')")
	
	call desconnect
	
	response.Redirect("recado.asp")
		
%>
arquivo conexão.asp

<% 'conexão.asp

	'pegando o caminho do BD
	dim caminho, con
	caminho = Server.MapPath("../dados/bancotarde.mdb") 'ServerMapPath - pega o caminho
	
	'-------Criando a função que irá conectar o BD-------
	sub conectar()
		'criando o objeto de conexão ADODB.Connection
		 set con = Server.CreateObject("ADODB.Connection")
		 
		 'indicando a string de conexão e abrindo o banco
		 con.open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&caminho&";")
		 
	end sub
	
	'--------função que desconecta a conexão do BD--------
	sub desconectar()
		'fecha a conexão
		con.close()
		
		'libera memória do servidor
		set  con = nothing	
	end sub
	
%>

me descupem se ficou muito desorganizado... mas estou com muitas dificuldades para resolver esse problema,

desde já agradeço


Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca tudo na mesma linha:

con.execute ("INSERT INTO tb_recados (nome, email, mensagem) VALUES ('"&nome&"', '"&email&"', '"&mensagem&"')")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas qual a mensagem de erro após a correção?

 

Posta a linha com erro também.

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse é o erro

 

Tipo de erro:

Microsoft JET Database Engine (0x80004005)

A operação deve usar uma consulta atualizável.

/sitedudo/action_recado.asp, line 10

 

e a linha é justamente o sql no arquivo actinon_recado.asp

 

linha com o erro:

con.execute ("INSERT INTO tb_recados (nome, email, mensagem) VALUES ('"&nome&"', '"&email&"', '"&mensagem&"')")

Compartilhar este post


Link para o post
Compartilhar em outros sites

fera, declara uma variavel tipo,

Dim rsInserir
e coloca sua sql assim

set rsInserir = con.execute("INSERT INTO tb_recados (nome, email, mensagem) VALUES ('"&nome&"', '"&email&"', '"&mensagem&"')")

ve se dá certo ae.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não esqueça de colacar as permissões corretas para poder inserir, update

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz como o Gilberto flw

declarei uma variável, mas tbm não deu;

 

xanburzum,

eu usei o insert pq queria inserir os dados capturados do formulário no BD,

não entendi como o update seria colocado ali, caso tenha um exemplo agradeço

 

 

abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta certo a forma que você esta fazendo, o Xan quis dizer é para você verificar se foram liberados as permissoes para inserir dados e atualizar.

 

eu tava olhando aqui, para fazer o select você usou

call conectar()
e no insert você usou
call conectar

Não sei se é isso, mas vai saber!

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce esta fazendo localmente? e´bom fazer o teste direto no servidor eu sempre faço isso, antes de quebrar mais a cabeça com um codigo eu testo na hospedagem! pode ser que funcione;.

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou fazendo localmente, ainda não hospedei!!!

sabe algum servidor ASP gratuito para teste?

acehi alguns aqui mas não funciona legal.

 

abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

apenas citei o update, porque ele também precisa de diretos, permissões no banco, igual insert

sobre o algum servidor ASP gratuito, existe um tópico fixo que tem vários servers

Compartilhar este post


Link para o post
Compartilhar em outros sites

dudosurf, faça o que o xan sugeriu. Dê permissão de escrita na pasta do banco.

 

Existem vários tópicos explicando sobre como fazer isso aqui no Fórum.

 

Qualquer dúvida, poste aqui novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então hargon, tentei fazer uma pesquisa aqui no fórum mas não achei um link explicando como fazer a permissão no banco (ou então eu não soube procurar), casa tenha o link ai posta ele pra mim por favor.

 

abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

hargon,

 

resolvido, usei esses passo a passo do tópico que você postou

- Vá em painel de controle, de um duplo clique em opções da pasta

- Vá até modo de exibição, onde tem configurações avançadas, localize a frase usar compartilhamento simples de arquivos (recomendável)

- Desmarque esta opção. Clique em aplicar e depois ok.

- Agora clique com o botão direito do mouse sobre o seu banco de dados e vá em propriedades.

- Clique no guia segurança e dê controle total ao usuário Todos, clique em ok.

obrigado a todos que colaboraram.

 

abçs

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.