Ir para conteúdo
Fórum Script Brasil
  • 0

Erro Mismatch


Mateustg

Pergunta

Eu tenho um sistema de cartões postais, eu consegui fazer o envio do cartão e recebi em meu email a notificação do cartão

(Deixe-me informá-lo de que tosta enviou-lhe um postal digital. Para o ver siga o link : http://www.vipseven.com.br/pd/pd/visualiza...ident=&psw=8852 - o postal vai estar disponível no nosso site até ao dia 4/23/2004). Ele mostra o endereço que tenho que acessar para ver o cartão, porém hora que cliko no link ele vai para pág. e me apresenta o seguinte erro:

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'Clnt'

/pd/pd/visualizar.asp, line 51

a linha 51 é esta:

51 SQLStmt = "SELECT * FROM postal WHERE ID_POSTAL = " & _

52 CInt(ident) & " AND passw_postal = " & CInt(psw)

Aqui está todo o cód. da pág. visualizar.asp


<% 
Set Conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Conn.Open "DBQ=" & Server.MapPath("./postaisdigitais.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;MaxBufferSize=8192;Threads=20;", "", ""
Dim apanhar 
Dim ident 
Dim psw 

' erring diz-nos se o postal jà existe 
' exists.  Por defeito achamos que sim. 
Dim erring  

' Normalmente uso 0 e 1 como boolean,  
' julgo que ocupa menos recursos ao servidor do que 
' um True e False 
erring = 0  

' Recebemos a informação dos argumentos     
' relativos ao postal a ver; 
' ficamos a saber se é uma pré-visualização 
' ou um destinatário a querer ver o seu postal
apanhar = Request("uq") 

if apanhar = "Previsualizar" then  
    ' para pré-visualizar entra-se aqui 
    ' Criei sessions para guardar a informação, 
    ' assim posso aceder à mesma a qualquer altura
    session("postal") = Request("R1") 
    session("nomede") = Request("nomede") 
    session("emailde") = Request("emailde") 
    session("nomepara") = Request("nomepara") 
    session("emailpara") = Request("emailpara") 
    session("message") = Request("mensagem") 
else  
    ' aqui temos o identificador do postal digital,  
    ' para sabermos qual a ir buscar. 
    ' Percorremos a Base de Dados para ver se está  
    ' tudo correcto. 
    ident = Request("ident")  

    ' Buscamos a password 
    ' Não queremos que as pessoas vão ver os postais dos  
    ' só por mudar o ID de 12 para 13 e afins. 
    ' Com a password cada postal só pode ser visto
    ' pela pessoa que sabe a password, neste caso nem precisa de saber
    ' só tem de seguir o link que lhe foi enviado 
    psw = Request("psw")  

    ' Esta é uma simples declaração de SQL para  
    ' validar o Id e a password 
    SQLStmt = "SELECT * FROM postal WHERE ID_POSTAL = " & _ 
    CInt(ident) & " AND passw_postal = " & CInt(psw) 
    
    ' Executamos o SQL
    rs.Open SQLstmt, Conn, 1, 2 
    if rs.EOF then 
        'O Postal digital não existe ou a password está errada! 
        erring = 1  
    else  
       'O Postal existe.  Vamos preencher as variáveis de
       'sessão com a informação da BD. 
        session("postal") = rs("postal_postal") 
        session("nomede") = rs("nomede_postal") 
        session("emailde") = rs("emailde_postal") 
        session("nomepara") = rs("nomepara_postal") 
        session("emailpara") = rs("emailpara_postal") 
        session("mensagem") = rs("mensagem_postal") 
    end if 
    rs.close
end if 
%> 
<html><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<body bgcolor=white> 
<% 
' Aqui vamos verificar se houveram erros 
if erring <> 1 and (apanhar="Previsualizar" or apanhar="defora") and len(session("postal")) <> 0 then 
    ' ´se tudo estiver bem mostramo sa informação 
%> 
<div align="left"> 
<table border="0" width="580" cellspacing="0" cellpadding="0"> 
 <tr> 
   <td width="50%" valign="top" align="left"><br> 
     <br> 
     <img src="imagens/<%=session("postal")%>.jpg" hspace="5" 
         border="2" WIDTH="354" HEIGHT="231"> 
   </td> 
   <td width="50%"> 
      <table border="0" cellspacing="3" width="100%" cellpadding="3" 
             bordercolor="#000000" height="202"> 
        <tr> 
          <td width="100%" height="109"> 
             <p align="left"> 
             <font face="Arial"><br> 
               <small>Remetente:</small> 
               <strong><%=session("nomede")%></strong> 
               <br> 
               <small>E-Mail Remetente:</small><small><strong> 
               <%=session("emailde")%></strong></small> 
               <br> 
               <small>Destinatario:</small><strong><small> 
               <%=session("nomepara")%></small></strong> 
               <br> 
               <small>E-mail Destinatario:</small><small><strong> 
               <%=session("emailpara")%></strong></small> 
             </font> 
           </td> 
         </tr> 

         <tr> 
           <td width="100%"> 
             <font face="Arial"> 
               <small>Message:</small><br> 
               <font size="2"><strong> 
               <%=session("message")%></strong> 
               </font> 
             </font> 
            </td> 
         </tr> 

         <tr> 
           <td width="100%" align="center" valign="middle" height="29"> 
           <% 
              'se apanhar = "seeit" mostramos os botões 
              'de envio e repetição 
              if apanhar="Previsualizar" then  
           %> 
             <p align="left"><br> 
             <a href="javascript:history.back()"> 
               Repetir 
             </a> 
         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
             <a href="enviar.asp"> 
                Enviar 
             </a> 
            </td> 
          </tr> 
          </table> 
        </td> 
     </tr> 
  </table> 
</div> 

          <% 
           ' alguém está a ver um postal já criado 
           ' mostra-se o botão de resposta
           else  
          %> 
             <br><br><br> 
             <a href="construir.asp" target="_self" > 
                Criar Tambem Um Postal 
             </a> 
          <% 
           end if 

' este else só funciona se não existir nenhum postal 
else 
%>  

<br><br> 
<center> 
 ERRO.... 
</center> 
<br> 

<% 
end if    


' Aqui é o local onde removemos Postais antigos, com mais de 30 diasall the postcards  

' Não quero ter uma Base de Dados cheia de lixo
' por isso apago todos os regitos com mais de 30 dias. 

' Pode perguntar.. "-Porque meteu este código aqui?" 
' A minha resposta é: 
' "- Porque é o local onde se veêm postais, 
' se vamos ver um postal apagamos os que jà não interessam 
' mas poderia estar em outro lado qualquer." 


' Vamos buscar a data do servidor
d = now()  

' vamos decrementar 30 dias à mesma 
d = DateAdd("d",-30,d) 

' Corremos o SQL que vai remover tudo 
SQLStmt = "DELETE FROM postal WHERE data_postal < #" & d & "#" 
rs.Open SQLStmt,Conn,1,2  
%> 
</body>    
</html> 

Alguém pode me ajudar a resolver esta?

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

da uma olhada no tipo de dados do campo, onde gera o erro.. você esta usando CINT (convertendo para numero..) esse erro, se não me engano, é por erro no tipo do campo.. veja no seu banco, que tipo de dados esta esse campo: passw_postal

Link para o comentário
Compartilhar em outros sites

  • 0

Não li o post todo!

Mas é isso!

Coloque, por exemplo, o número 1 no lugar de AKITÁVAZIO e teste!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...