Jump to content


Photo

Alguem Ja Viu Isso


  • Faça o login para participar
7 replies to this topic

#1 danilo.max

danilo.max

    12 Horas

  • Usuários
  • 143 posts
  • Sexo:Não informado

Posted 25/07/2003, 09:42

Alguem já viu esse erro pois eu não.


Microsoft VBScript runtime error '800a01a8' 

Object required: '' 

;site/news/processa.asp, line 42

O coidgo é esse

<table width="100%" border="0" cellspacing="2" cellpadding="2">
                <tr> 
                  <td width="78%" valign="top"><p align="left" class="Texto_Normal">&nbsp;</p>
                    <p align="justify" class="Texto_Normal"> 
                      <font face="Verdana" size="2"> 
                      <%
                      
Sub AbreBanco
	Set conect = Server.CreateObject("ADODB.Connection")
	conect.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("banco.mdb")
End sub

Sub FechaBanco
'	conect.close
	Set conect = nothing
End sub     
                  
'-------------------------------------
'DECLARANDO AS VARIAVEIS DOFORMULARIO
'-------------------------------------

'Pegando as variaveis do formulario
strEmail = Trim(Request.Form("Email"))
strNome = Trim(Request.Form("Nome"))
strEmpresa = Trim(Request.Form("Empresa"))
strCadastrar = Trim(Request.Form("cadastrar"))


'##################################################################################

'-------------------------------------
'RECONHECENDO O METODO ENTRAR DO FORMULARIO
'-------------------------------------
'Verifica se o metodo escolido no formulario é "confirmacao"
'Caso seja ele executa a verificação no banco de dados
'Se o e-mail já estiver no banco ele retorna a mensagem
'Este E-mail já consta em nosso banco de dados

If strCadastrar = "Sim" then
AbreBanco()
  StrSQL = "SELECT * FROM Dados where Email='" & strEmail & "'"
 	 Set Records = conect.Execute(StrSQL)
	If Records.EOF Then
%>
 </font>
                    </p>
                    <p align="center"><font face="Verdana" size="2"><strong>Erro de cadastramento 
                      </strong></font></p>
                    <p align="center">
                    <font color="#000000" size="2" face="Verdana">O e-mail 
                      informado j&aacute; consta em nosso banco de dados.</font></p>
                    <p align="justify"> 
<font face="Verdana" size="2"> 
<%
FechaBanco()
	Else
	
AbreBanco

 	 StrI = "INSERT INTO Dados (Email, Nome, Empresa) values ('" & strEmail & "','" & strNome& "','" & strEmpresa & "')"
    Set strInstert = conect.Execute(StrI)

%> </font>
                    </p>
                    <p align="center" class="Titulo_Azul">
                    <font face="Verdana" size="2"><strong>Cadastro Efetuado!!!</strong></font></p>
                    <p align="center"><font size="2" face="Verdana">Seu 
                      e-mail foi cadastrado com sucesso!!. </font> </p>
                    <p align="justify" class="Texto_Normal"> 
                      <font face="Verdana" size="2"> 
                      <%
FechaBanco
	End If
End If

%>

                      <%

'-------------------------------------
'RECONHECENDO O METODO DELETAR DO REQUEST
'-------------------------------------
'Se o metodo for igual a deletar ele deleta o e-mail
'do banco de dados definitivamente
'Para evitar fralde no código colocamos novamente a verificação
'de se o e-mail está cadastrado no banco de dados

If strCadastrar = "Não" then
AbreBanco()
  StrSQL = "SELECT * FROM Dados where Email = '" & strEmail & "'"
 	 Set Rs = conect.Execute(StrSQL,,1)
	If NOT Rs.BOF Then
%> </font>
                    </p>
                    <p align="center"><font face="Verdana" size="2"><strong>Erro de processamento 
                      </strong></font></p>
                    <p align="center">
                    <font color="#000000" size="2" face="Verdana">O e-mail 
                      informado não consta em nosso banco de dados.<br></font></p>
                    <p align="justify"> 
<font face="Verdana" size="2"> 
<%
FechaBanco()

Else

AbreBanco()
 	 StrD = "DELETE FROM Emails WHERE Email = '"& strEmailRequest & "'"
    Set strDelete = conect.Execute(StrD)
%> </font>
                    </p>
                    <p align="center" class="Titulo_Azul">
                    <font face="Verdana" size="2"><strong>E-mail deletado!!!</strong></font></p>
                    <p align="center"><font size="2" face="Verdana">Seu 
                      e-mail foi retirado com sucesso do Boletim informativo. </font> </p>
                    <p align="justify" class="Texto_Normal"> 
                    
<%
FechaBanco()
	End If
End If
%> </p> </td>
                </tr>
              </table>


Se alguem puder dar uma olhada e me dizer o que é agradeço pois já fiz de tudo ja mudei instrução etc.. etc... e nada resolve.
Espero que vcs me ajudem.
Valeu.

#2 Sandman

Sandman

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Não informado

Posted 25/07/2003, 09:48

Coloque a linha em especifico para podermos dar uma olhada na linha do erro...
Olhando por cima nãop consegui achar o erro.

O erro é de concatenação ou não fechamento de instrução...

#3 tecnomage

tecnomage

    Turista

  • Usuários
  • 42 posts
  • Sexo:Não informado
  • Localidade:Localização???

Posted 25/07/2003, 11:02

tenta tirar a função "abrebanco" monta ela direto no código if.

tbm tenta conferir se vc colocou todas as variáveis que vc se refere na linha 42.
" o unico lugar onde o sucesso vem antes do trabalho é no dicionário, mas lá, o fracasso vem antes da tentativa..."

"viva cada dia como se fosse o ultimo... um dia vc acerta"

#4 danilo.max

danilo.max

    12 Horas

  • Usuários
  • 143 posts
  • Sexo:Não informado

Posted 25/07/2003, 13:19

Bom é isso mesmo descobri que a instrução para abrir o banco de dados não pode estar dentro de uma SUB.

Mas eu digo assim.
Sempre usei SUB para fazer conexões com banco de dados e nunca tive nenhum problema.
Outra coisa é declaração de variaveis nunca declarei nenhuma variavel e nunca tive nenhum problema porque tenho que declarar a variavel do banco nesse caso.


Nossa gente ahco que eu to ficando doido ou o ASP tá ultrapassado pois sempre fiz isso e nunca deu nenhum problema.

Espero que algume me responda.

#5 cybermix

cybermix

    andrewsmedina.com.br

  • Ex-Admins
  • 3586 posts
  • Sexo:Não informado
  • Localidade:Não sou desse planeta não!!!!
  • Interesses:python, fireworks, linux, php, flash...

Posted 25/07/2003, 13:52

é o seguinte a subabrebanco() funciona so que a variavel conect so funciona com o valor que voce atribuiu a ela, quando ela estiver dentro da sub. Uma maneira simple de voce arrumar isso é declrando a variavel conect no inicio do arquivoex:
dim conect

www.andrewsmedina.com.br

#6 Rodrigo

Rodrigo

    oi!

  • Usuários
  • 995 posts
  • Sexo:Não informado
  • Interesses:Diretório de sites - http://www.acheinobrasil.com.br

Posted 25/07/2003, 18:19

por isso que eu amo o "option explicit" :D

#7 danilo.max

danilo.max

    12 Horas

  • Usuários
  • 143 posts
  • Sexo:Não informado

Posted 25/07/2003, 22:29

por isso que eu amo o "option explicit" :D

É bom saber pois nunca gostei do Option Explicit mas acho que agora em diante não vou deixar de usar ele eheheh.

Valeu pela ajuda galera.
Se precisarem de mim estou ai.

#8 ShitWeb

ShitWeb

    12 Horas

  • Usuários
  • 147 posts
  • Sexo:Não informado
  • Localidade:Araucária - PR

Posted 26/07/2003, 01:22

Cara sempre use Option Explicit,
alem de evitar esses problemas, e o acesso as variaveis declaradas é mais rapido das q naum foram declaradas....

Falow, :D




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq