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>
<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>
Pergunta
Mateustg
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> <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
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.