Ir para conteúdo

POWERED BY:

Arquivado

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

zecahot

Asp com Access

Recommended Posts

Opa ae galera, faz tempo que nao uso o forum e preciso de uma ajuda meio rapida.

 

Estou com o segunte problema

ADODB.Recordset (0x800A0E7D)

A conexão não pode ser usada para realizar esta operação. Ela está fechada ou é inválida neste contexto.

/www.gesso.com.br/form_add.asp, line 130

 

Esse erro acontece quando vou incluir um registro no db access via asp.

 

O codigo para a conexão e inclusão dos dados é esse:

 

Set Conexao = Server.CreateObject("ADODB.Connection")
    Conexao.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("dados/assina.mdb"))
	set Conexao = server.CreateObject("adodb.recordset")
    Conexao.Open "select * from assina"

	ComandoSQL ="INSERT INTO assina(anual, bimestral, nome, profissao, empresa, cpfcnpj, endereco, numero, bairro, cep, cidade, estado, telefone, email)"

    ComandoSQL = ComandoSQL & " VALUES ("
    ComandoSQL = ComandoSQL & "" & Server.HTMLEncode(Request.FORM("anual")) & ","
    ComandoSQL = ComandoSQL & "" & Server.HTMLEncode(Request.FORM("bimestral")) & ","
    ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("nome")) & "',"
    ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("profissao")) & "',"
    ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("empresa")) & "',"
    ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("cpfcnpj")) & "',"
    ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("endereco")) & "',"
    ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("numero")) & "',"
    ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("bairro")) & "',"
    ComandoSQL = ComandoSQL & "" & Server.HTMLEncode(Request.FORM("cep")) & ","
    ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("cidade")) & "',"
    ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("estado")) & "',"
    ComandoSQL = ComandoSQL & "" & Server.HTMLEncode(Request.FORM("telefone")) & ","
    ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("email")) & "')"
    
	Set bd = Conexao.Execute(ComandoSQL)
    Conexao.Close
    Set bd = Nothing
    Set Conexao = Nothing

 

o que estou fazendo de errado??? Alguem pode me ajudar, lembrando que ASP não é o meu forte

Compartilhar este post


Link para o post
Compartilhar em outros sites

A causa mais provável é que você está tentando definir ActiveConnection do objeto de comando para um objeto de conexão inválida, ou você não definiu a propriedade ActiveConnection , Verifique sobre o seu código, e certifique-se de seu objeto de conexão é válida e aberta, antes de tentar defini-la como a conexão ativa para o objeto

Compartilhar este post


Link para o post
Compartilhar em outros sites

O recordset não pode ter o mesmo nome do objeto da conexão.

set Conexao = server.CreateObject("adodb.recordset")
    Conexao.Open "select * from assina"
E ao que tudo indica, a consulta acima é desnecessária.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar esse tipo de conexao, crie um arquivo chamado conexao.asp , e dentro dele esse conteudo:

 

sub abreconexao
constring="provider=microsoft.JET.OLEDB.4.0;Data Source=" & Server.MapPath("dados/assina.mdb")
Set conexao=Server.CreateObject("ADODB.Connection")
conexao.open constring
end sub

sub fechaconexao
set conexao=nothing
end sub

e nas paginas que usar a conexao chame ele dessa forma

 

<!--#include file="conn/conexao1.asp"-->
   <% 'abrir a conexao
   call abreconexao
   'crio o rsselect para verificar se os dados jah estaun cadastrados
   set rs=server.createobject("ADODB.Recordset")
   'crio o SQL
   SQL=""INSERT INTO assina(anual, bimestral, nome, profissao, empresa, cpfcnpj, endereco, numero, bairro, cep, cidade, estado, telefone, email)"    
   rs.open SQLselect,conexao,1,3

Compartilhar este post


Link para o post
Compartilhar em outros sites

AGora ta dando esse erro

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

Fim da instrução esperado

/www.gesso.com.br/form_add.asp, line 133, column 6

SQL=""INSERT INTO assina(anual, bimestral, nome, profissao, empresa, cpfcnpj, endereco, numero, bairro, cep, cidade, estado, telefone, email)""

-----^

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um response.write na sua string SQL para ver o que esta sendo passando

response.write(SQL)
rsponse.end()

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erro a principio é o que o @Vinicius Ianni postou

 

veja se resolve

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora o erro é esse

 

ADODB.Recordset (0x800A0BB9)

Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito.

/www.gesso.com.br/form_add.asp, line 134

 

Parece que tem haver com a seguinte instrução

 

<%
Else
  If Not IsEmpty(Request.Form("submit")) AND Trim(Request.Form("nome")) <> ""  AND Trim(Request.Form("profissao")) <> ""  AND Trim(Request.Form("empresa")) <> ""  AND Trim(Request.Form("cpfcnpj")) <> ""  AND Trim(Request.Form("endereco")) <> ""  AND Trim(Request.Form("numero")) <> ""  AND Trim(Request.Form("bairro")) <> ""  AND Trim(Request.Form("cep")) <> ""  AND Trim(Request.Form("cidade")) <> ""  AND Trim(Request.Form("estado")) <> ""  AND Trim(Request.Form("telefone")) <> ""  AND Trim(Request.Form("email")) <> ""  Then

'abrir a conexao
   call abreconexao
   'crio o rsselect para verificar se os dados jah estaun cadastrados
   set rs=server.createobject("ADODB.Recordset")
   'crio o SQL
   SQL="INSERT INTO assina(anual, bimestral, nome, profissao, empresa, cpfcnpj, endereco, numero, bairro, cep, cidade, estado, telefone, email)"    
   [u][b]rs.open SQLselect,conexao,1,3[/b][/u]
%>

É a linha que esta em destaque.

 

O banco tem 15 colunas, sendo a 1ª de numeração automática e as outras 14 todos campos texto.

 

Como posso resolver isso??? nao aguento mais tentar acertar essa pagina.

 

Fico no aguardo de um help.

 

Ate

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um response.write na string SQL, para ver o k esta sendo passado

response.write(SQL)
response.end()

Compartilhar este post


Link para o post
Compartilhar em outros sites

melhor escrever a sql agora mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, agora a pagina nao da erro, mas nao grava nada no banco. Me ajudem por favor

Esse é o codigo da conn

<%

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

Conexao.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("dados/assina.mdb"))

ComandoSQL = "SELECT * FROM assina"

Set bd = Conexao.Execute(ComandoSQL)

%>

 

Esse é o codigo da pagina

 

<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/conn.asp" -->

<html>
<head>
<title>Inclusao</title>
</head>
<body>
<center><font face="Arial" size="4"><b>Formulário de Inclusão</b></h2></center>

<%
If IsEmpty( Request.Form("submit") ) Then
%>

<form method=post action="<%=Request.ServerVariables("script_name")%>">
<table border=0 width="80%" align=center>
  <tr>
    <td align=right valign=top><font face="Arial" size="2">Assinatura Anual</font></td>
    <td align=left valign=top>
    <input type="radio" name="anual">
	<!--<input type=text name="anual" value="" size=15 maxlength=50 style="{<font-family:Arial; font-size:12}">-->
    </td>
  </tr>
  <tr>
    <td align=right valign=top><font face="Arial" size="2">Assinatura Bianual:</font></td>
    <td align=left valign=top>
    <input type="radio" name="anual">
	<!--<input type=text name="bimestral" value="" size=15 maxlength=50 style="{<font-family:Arial; font-size:12}">-->
    </td>
  </tr>
  <tr>
    <td align=right valign=top><font face="Arial" size="2">Nome:</font></td>
    <td align=left valign=top>
      <font face="Arial" size="2">
    <input type=text name="nome" value="" size=40 maxlength=50 style="{<font-family:Arial; font-size:12}">
    </td>
  </tr>
  <tr>
    <td align=right valign=top><font face="Arial" size="2">Profissão:</font></td>
    <td align=left valign=top>
      <font face="Arial" size="2">
    <input type=text name="profissao" value="" size=30 maxlength=50 style="{<font-family:Arial; font-size:12}">
    </td>
  </tr>
  <tr>
    <td align=right valign=top><font face="Arial" size="2">Empresa:</font></td>
    <td align=left valign=top>
      <font face="Arial" size="2">
    <input type=text name="empresa" value="" size=15 maxlength=50 style="{<font-family:Arial; font-size:12}">
    </td>
  </tr>
  <tr>
    <td align=right valign=top><font face="Arial" size="2">CPF / CNPJ (somente numeros):</font></td>
    <td align=left valign=top>
      <font face="Arial" size="2">
    <input type=text name="cpfcnpj" value="" size=15 maxlength=50 style="{<font-family:Arial; font-size:12}">
    </td>
  </tr>
  <tr>
    <td align=right valign=top><font face="Arial" size="2">Endereço:</font></td>
    <td align=left valign=top>
      <font face="Arial" size="2">
    <input type=text name="endereco" value="" size=15 maxlength=50 style="{<font-family:Arial; font-size:12}">
    </td>
  </tr>
  <tr>
    <td align=right valign=top><font face="Arial" size="2">Número / Complemento:</font></td>
    <td align=left valign=top>
      <font face="Arial" size="2">
    <input type=text name="numero" value="" size=15 maxlength=50 style="{<font-family:Arial; font-size:12}">
    </td>
  </tr>
  <tr>
    <td align=right valign=top><font face="Arial" size="2">Bairro:</font></td>
    <td align=left valign=top>
      <font face="Arial" size="2">
    <input type=text name="bairro" value="" size=15 maxlength=50 style="{<font-family:Arial; font-size:12}">
    </td>
  </tr>
  <tr>
    <td align=right valign=top><font face="Arial" size="2">CEP (somente numeros).:</font></td>
    <td align=left valign=top>
      <font face="Arial" size="2">
    <input type=text name="cep" value="" size=8 maxlength=50 style="{<font-family:Arial; font-size:12}">
    </td>
  </tr>
  <tr>
    <td align=right valign=top><font face="Arial" size="2">Cidade:</font></td>
    <td align=left valign=top>
      <font face="Arial" size="2">
    <input type=text name="cidade" value="" size=15 maxlength=50 style="{<font-family:Arial; font-size:12}">
    </td>
  </tr>
  <tr>
    <td align=right valign=top><font face="Arial" size="2">UF.:</font></td>
    <td align=left valign=top>
      <font face="Arial" size="2">
    <select name="estado" size=1 style="{<font-family:Arial; font-size:12}">
	<option value="SP" selected>SP</option>
	<option value="RJ">RJ</option>
	<option value="MG">MG</option>
	<option value="ES">ES</option>
    </select>
	</td>
  </tr>
  <tr>
    <td align=right valign=top><font face="Arial" size="2">Telefone (ddd+número):</font></td>
    <td align=left valign=top>
      <font face="Arial" size="2">
    <input type=text name="telefone" value="" size=11 maxlength=12 style="{<font-family:Arial; font-size:12}">
    </td>
  </tr>
  <tr>
    <td align=right valign=top><font face="Arial" size="2">Email:</font></td>
    <td align=left valign=top>
      <font face="Arial" size="2">
    <input type=text name="email" value="" size=15 maxlength=50 style="{<font-family:Arial; font-size:12}">
    </td>
  </tr>
  </font>
</table>
<center><input type=submit name=submit value=Incluir style="{<font-family:Arial; font-size:12}"></center>
</form>

<%
Else
  If Not IsEmpty(Request.Form("submit")) AND Trim(Request.Form("nome")) <> ""  AND Trim(Request.Form("profissao")) <> ""  AND Trim(Request.Form("empresa")) <> ""  AND Trim(Request.Form("cpfcnpj")) <> ""  AND Trim(Request.Form("endereco")) <> ""  AND Trim(Request.Form("numero")) <> ""  AND Trim(Request.Form("bairro")) <> ""  AND Trim(Request.Form("cep")) <> ""  AND Trim(Request.Form("cidade")) <> ""  AND Trim(Request.Form("estado")) <> ""  AND Trim(Request.Form("telefone")) <> ""  AND Trim(Request.Form("email")) <> ""  Then

    Dim Recordset1
    Dim Recordset1_cmd
    Dim Recordset1_numRows

    Set Recordset1_cmd = Server.CreateObject ("ADODB.Command")
    Recordset1_cmd.ActiveConnection = Conexao
    Recordset1_cmd.CommandText = "SELECT * FROM assina ORDER BY nome ASC" 
    Recordset1_cmd.Prepared = true

    Set Recordset1 = Recordset1_cmd.Execute
    Recordset1_numRows = 0

    'Recordset1.Close()
    Set Recordset1 = Nothing

%>

   <font face="Arial" size="2">
   <center><br>Os dados foram enviados com sucesso!

   <br><a href="index.asp"><b>Clique aqui</b></a> para continuar</font></center>

<%
  Else
%>

   <font face="Arial" size="2">
   <center><br>Atenção: Alguns dados necessário não foram preenchidos corretamente

   <br><a href="javascript:history.go(-1)"><b>Clique aqui</b></a> para voltar</font></center>

<%
  End If
End If
%>

</body>
</html>

VCs podem me ajudar a resolver isso??? Por favor

Compartilhar este post


Link para o post
Compartilhar em outros sites

Onde esta o comando para gravação (INSERT ou UPDATE)?

 

Único comando SQL :

.........
........
Recordset1_cmd.CommandText = "SELECT * FROM assina ORDER BY nome ASC"
.......
.....

Que seleciona registro não inclui nem atualiza.

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim ele não vai gravar, pois você esta usando apenas uma string SQL para selecionar (SELECT), você deve usar um INSERT

e uma dica, antes de incluir faça uma SELECT para ver se ja existe os dados, para não haver duplicidade

 

olha este exemplo:

 

formulario:

<% 'aplicaçaun para efetuar a inclusao de dados
   'onde através de um form com os campos p/ inserir os valores 
   'e serem postados para o inserir_action.asp
   
 Option explicit
 'declaro as var  
  dim varmsgeof
 varmsgeof=request.querystring("msgeof") 'no caso de erro no incluir_action

	%>
	<script language="javascript">
	function novajan(){
window.open ("erro.asp","Erro","width=180,height=240,scrollbar=no,status=yes,resize=no")
}
</script>
<%	
	if varmsgeof <> "" then
	response.write("<script>novajan();</script>")
	end if
	if Session("logado")="falso" then
	response.write("<script>novajan();</script>")
	end if
	%>

<html>
<head>
<title>Incluir Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--
function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') {
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}

function MM_popupMsg(msg) { //v1.0
  alert(msg);
}
//-->
</script>
<style>
body {SCROLLBAR-FACE-COLOR: #336699; SCROLLBAR-HIGHLIGHT-COLOR: #8080FF; SCROLLBAR-SHADOW-COLOR: #FFFFFF; SCROLLBAR-3DLIGHT-COLOR: #ffff99; SCROLLBAR-ARROW-COLOR: #FFFFFF; SCROLLBAR-TRACK-COLOR: #E6E6E6; FONT-FAMILY: Arial, Verdana; SCROLLBAR-DARKSHADOW-COLOR: #008080 }
input {  font: normal 10px Verdana, Arial, Helvetica, sans-serif; color: #0000FF; background: #CCCCCC}
</style>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<table width="75%" border="0" height="139" cellpadding="0" cellspacing="0" align="center"> 
<tr> <td bgcolor="#666666" width="2%"> <div align="center"><b><img src="file:///A|/asp/imgs/curva.gif" width="10" height="19"></b></div></td><td bgcolor="#336699" width="98%"> 
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF" size="3">:: 
</font><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF" size="2">Cadastro 
de Login</font><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF" size="3"> 
</font></b></div></td></tr> <tr bgcolor="#336699"> <td height="5" colspan="2"> </td></tr> 
<tr bgcolor="#e6e6e6"> <td height="163" colspan="2"> <form name="form1" method="post" action="incluir_action_treina.asp"> 
<table width="99%" border="0" bordercolor="#e6e6e6"> <tr> <td><b><font color="#336699" size="1" face="Verdana, Arial, Helvetica, sans-serif">Entre 
com o login: <input type="text" name="login" size="12" maxlength="12"> </font></b></td></tr> 
<tr> <td height="12" bordercolor="0"><b><font color="#336699" size="1" face="Verdana, Arial, Helvetica, sans-serif">Entre 
com sua senha: <input type="password" name="senha" size="8" value="" maxlength="8"> 
</font></b></td></tr> <tr> <td bordercolor="0"><b><font color="#336699" size="1" face="Verdana, Arial, Helvetica, sans-serif">Entre 
com o email: <input type="text" name="email" size="48" maxlength="48"> </font></b></td></tr> 
<tr> <td bordercolor="0"> <div align="center"> 
                <input type="image" border="0" name="imageField" src="imgs/enviar.gif" width="87" height="22" onClick="MM_validateForm('login','','R','email','','RisEmail','senha','','R');MM_popupMsg('Obrigado por se cadastrar.');return document.MM_returnValue" align="middle"> 
</div></td></tr> </table></form></td></tr> </table>
<p> </p>
</body>
</html>

action

<% 'incluir_action.asp => fazer a inclusao no BD, antes fazendo uma verificaçao
   'no BD através de SQL Select if not rs.eof then
   'redireciono para incluir_form.asp?msgeof=1 else
   'incluo no bd atraves da SQL Insert e redireciono para adiministraçao.asp?msg=1
   'e lá receberá um mensagem de sucesso
   
   Option explicit
   'declaro as var
   dim varlogin, varemail, varsenha, conexao, conDBQ, constring, rsselect, SQLselect, rsinsert, SQLinsert
   'recupero todos os dados
   varlogin=trim(request.form("login"))
   varsenha=trim(request.form("senha"))
   varemail=trim(request.form("email"))
   'crio a conexao
   %>
   <!--#include file="conn/conexao1.asp"-->
   <% 'abrir a conexao
   call abreconexao
   'crio o rsselect para verificar se os dados jah estaun cadastrados
   set rsselect=server.createobject("ADODB.Recordset")
   'crio o SQLselect
   SQLselect="SELECT login FROM login WHERE login='"&varlogin&"'"
   rsselect.open SQLselect,conexao,1,3
   if not rsselect.eof then
   		response.redirect("incluir_form_treina.asp?msgeof=1")
		set rsselect=nothing
   else	
   		'crio o rsinsert para inseiri os dados no bd
   		 set rsinsert=server.createobject("ADODB.Recordset")
		'crio o SQLinsert pra incluir no bd
		SQLinsert="INSERT INTO login(login,senha,email) values('"&varlogin&"','"&varsenha&"','"&varemail&"')"
		rsinsert.open SQLinsert,conexao,1,3
		response.redirect("administracao_treina.asp?msg=1")
		set rsinsert=nothing
	end if 
	call fechaconexao %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim , óh... cria um formulário, com os campos a serem gravados no bd, tipo

 

<form name="form1" method="post" action="incluir_action_treina.asp"> 
<table width="99%" border="0" bordercolor="#e6e6e6"> <tr> <td><b><font color="#336699" size="1" face="Verdana, Arial, Helvetica, sans-serif">Entre 
com o login: <input type="text" name="login" size="12" maxlength="12"> </font></b></td></tr> 
<tr> <td height="12" bordercolor="0"><b><font color="#336699" size="1" face="Verdana, Arial, Helvetica, sans-serif">Entre 
com sua senha: <input type="password" name="senha" size="8" value="" maxlength="8"> 
</font></b></td></tr> <tr> <td bordercolor="0"><b><font color="#336699" size="1" face="Verdana, Arial, Helvetica, sans-serif">Entre 
com o email: <input type="text" name="email" size="48" maxlength="48"> </font></b></td></tr> 
<tr> <td bordercolor="0"> <div align="center"> 
                <input type="image" border="0" name="imageField" src="imgs/enviar.gif" width="87" height="22" align="middle"> 
</div></td></tr> </table></form>

recupera os dados atraves do request.form("nome_do_campo") e depois insere na instrução SQL INSERT

 

Option explicit
   'declaro as var
   dim varlogin, varemail, varsenha, conexao, conDBQ, constring, rsselect, SQLselect, rsinsert, SQLinsert
   'recupero todos os dados
   varlogin=trim(request.form("login"))
   varsenha=trim(request.form("senha"))
   varemail=trim(request.form("email"))
   'crio a conexao
   constring="provider=microsoft.JET.OLEDB.4.0;Data Source=" & Server.MapPath("db/quaddra.mdb")
Set conexao=Server.CreateObject("ADODB.Connection")
conexao.open constring
   
   		'crio o rsinsert para inseiri os dados no bd
   		 set rsinsert=server.createobject("ADODB.Recordset")
		'crio o SQLinsert pra incluir no bd
		SQLinsert="INSERT INTO login(login,senha,email) values('"&varlogin&"','"&varsenha&"','"&varemail&"')"
		rsinsert.open SQLinsert,conexao,1,3
		response.redirect("administracao_treina.asp?msg=1")
		set rsinsert=nothing
	end if 
	set conexao=nothing %>

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.