Foros del Web » Programando para Internet » ASP Clásico »

ayuda con mail porfa¡¡¡

Estas en el tema de ayuda con mail porfa¡¡¡ en el foro de ASP Clásico en Foros del Web. Hola, la voy hacer cortita, resulte en mi seccion noticias, le doy la posibilidad de "enviar a un amigo", y me debiera recuperar el ID ...
  #1 (permalink)  
Antiguo 27/03/2002, 23:56
 
Fecha de Ingreso: enero-2002
Mensajes: 217
Antigüedad: 23 años, 4 meses
Puntos: 0
ayuda con mail porfa¡¡¡

Hola,
la voy hacer cortita,

resulte en mi seccion noticias, le doy la posibilidad de "enviar a un amigo", y me debiera recuperar el ID de esa noticia, pero me da un error:

dice que le falta operador en la expresion de consulta,

la linea es de

sql = "SELECT * FROM tabla2 WHERE id=&Request.QueryString(id)&"

no se que le falta pues este codigo esta en otras paginas y me funciona de maravilla


porfa algun experto que se apiade


salu2


  #2 (permalink)  
Antiguo 27/03/2002, 23:59
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: ayuda con mail porfa¡¡¡

Si el request.querystring("Id") es numerico

sql = "SELECT * FROM tabla2 WHERE id="&Request.QueryString(id)

si es alfanumerico

sql = "SELECT * FROM tabla2 WHERE id='"&Request.QueryString(id)&"' "

saludos

Me voy de campamento hasta el Lunes...
  #3 (permalink)  
Antiguo 28/03/2002, 00:06
 
Fecha de Ingreso: enero-2002
Mensajes: 217
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: ayuda con mail porfa¡¡¡

Urjose antes que te vayas de campamento....


Microsoft JET Database Engine error '80040e07'

No coinciden los tipos de datos en la expresión de criterios.

/catolica/enviar.asp, line 61



use :
sql = "SELECT * FROM tabla2 WHERE id='" & Request.QueryString("id") & "'"


  #4 (permalink)  
Antiguo 28/03/2002, 00:10
 
Fecha de Ingreso: enero-2002
Mensajes: 217
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: ayuda con mail porfa¡¡¡

ahora si le quito las comillas a (id):

sql = "SELECT * FROM tabla2 WHERE id='" & Request.QueryString(id) & "'"


el error es el siguiente:
Objeto Request error 'ASP 0102 : 80004005'

Esperando la entrada de una cadena

/catolica/enviar.asp, line 57

La función espera una cadena como entrada.




  #5 (permalink)  
Antiguo 28/03/2002, 00:13
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: ayuda con mail porfa¡¡¡

aqui no tienes que quitarle las comillas
Request.QueryString(id)

que tipo de valor es id en tu base de datos?
  #6 (permalink)  
Antiguo 28/03/2002, 00:18
 
Fecha de Ingreso: enero-2002
Mensajes: 217
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: ayuda con mail porfa¡¡¡

son de texto y memo nada de numeros¡¡¡¡
  #7 (permalink)  
Antiguo 28/03/2002, 00:30
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: ayuda con mail porfa¡¡¡

utiliza un

response.write SQL

y checa como viene la consulta

saludos
  #8 (permalink)  
Antiguo 28/03/2002, 00:38
 
Fecha de Ingreso: enero-2002
Mensajes: 217
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: ayuda con mail porfa¡¡¡

siempre me da el error con todas las formas:
no coinciden los criterios de datos

perdon por la lata pero te coloco el codigo entero...

<% option explicit%>
<CENTER><H2><font color="#000080">Enviar a un Amigo</font></H2></CENTER>
<%

'Plantilla ASP por Carlos de la Orden Dijs
Dim Mail,mailsender, sDestino, sRemite, sBody, accion,addadress

sDestino=Trim(CStr(Request.Form("Para")) )
sRemite=Trim(CStr(Request.Form("De")))
sBody=CStr(Request.Form("Cuerpo"))

' Si alguno de los campos está vacío es que no han enviado el formulario
if (sDestino = "" or sRemite = "") then
Formulario
else
MandarMail
end if

'================================================= =======================================
Sub Formulario
%>
<TABLE BORDER="1" STYLE="background-color: #ff6600; color: blue" WIDTH="400" ALIGN="center">
<FORM NAME="Email" ACTION="enviar.asp" METHOD="post">
<TR>
<TD COLSPAN="2"><font color="#000080">Introduce un email para enviar un mail, y otro para que sea el remitente.
Si quieres, puedes añadir un comentario.</font></TD>
<TR>
<TD><B><font color="#000080">Para:</font></B></TD>
<TD><font color="#000080"><INPUT TYPE="text" NAME="Para"></font></TD>
<TR>
<TD><B><font color="#000080">De:</font></B></TD>
<TD><font color="#000080"><INPUT TYPE="text" NAME="De"></font></TD>
<TR>
<TD><B><font color="#000080">Comentario:</font></B></TD>
<TD><font color="#000080"><TEXTAREA NAME="Cuerpo" WRAP="virtual" ROWS="3" COLS="15"></TEXTAREA></font></TD>
<TR>
<TD COLSPAN="2"><CENTER>
<INPUT TYPE="submit" VALUE="Enviar Email!">
<INPUT TYPE="reset">
</CENTER>
</TD>
</FORM>
</TABLE>
<%
End Sub 'Formulario%>


<%
'================================================= =======================================
Sub MandarMail

dim con,sql,result,titulo,apunte,id
Set con = Server.CreateObject("ADODB.Connection")
Con.Open("Provider=Microsoft.Jet.OLEDB.4.0;Da ta Source=" & _
Server.MapPath("./bd/profesores.mdb"))

sql = "SELECT * FROM tabla2 WHERE id='" & Request.QueryString("id") & "'"

'Ejecuta un sentencia SQL de consulta
'Recorre todas las filas del resultado
set result = Con.Execute(sql)
response.write sql
titulo=result(titulo)
apunte=result(apunte)








'Creamos el objeto
set Mail=Server.CreateObject("Persits.MailSender& quot;)
'set mail=new mailsender
'Establecemos sus propiedas
mail.host="smtp.entelchile.net"
mail.port=25
Mail.addaddress sDestino
Mail.From=sRemite

'Esto lo añado yo
sBody=sBody & VbCrLf & VbCrLf & _
titulo
sBody=sBody & apunte
sBody=sBody & "Esta dirección de correo electrónico no queda guardada de ninguna forma. www.univercity.cl"

'Asignamos el cuerpo del mensaje
Mail.Body=sBody
'Y fuera!
Mail.Send

'Sacamos la basura
set Mail=nothing

Response.Write("El correo electrónico ha sido enviado correctamente a <i>"&sDestino&"</i>.")

End Sub 'MandarMail

%>
<!--FIN DEL SCRIPT -->




  #9 (permalink)  
Antiguo 28/03/2002, 00:42
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: ayuda con mail porfa¡¡¡

Lo siento el error que mandas no tiene que ver con tu codigo si no con el tipo de dato que tiene el campo id y la sentencia sql por eso te repito

utiliza un

response.write sql despues de tu sentencia sql, postea lo que te imprime y dime que tipo de dato es id en tu base de datos

saludos

  #10 (permalink)  
Antiguo 28/03/2002, 00:45
 
Fecha de Ingreso: enero-2002
Mensajes: 217
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: ayuda con mail porfa¡¡¡

como dato adicional, el codigo lo baje del aspfacil y funciona de maravilla, pero al hacer el injerto para que me enviara una noticia me quedó la embarrada.

gracias
por tomarte el tiempo...
  #11 (permalink)  
Antiguo 28/03/2002, 00:47
 
Fecha de Ingreso: enero-2002
Mensajes: 217
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: ayuda con mail porfa¡¡¡

los datos son de texto, memo y bueno el id es autonumerico.
  #12 (permalink)  
Antiguo 28/03/2002, 00:52
 
Fecha de Ingreso: enero-2002
Mensajes: 217
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: ayuda con mail porfa¡¡¡

aqui va de nuevo el error, no toma nada el resultado del id deberia Ser id=2

SELECT * FROM tabla2 WHERE id=
Microsoft JET Database Engine error '80040e14'

Error de sintaxis (falta operador) en la expresión de consulta 'id='.

/catolica/enviar.asp, line 62
  #13 (permalink)  
Antiguo 28/03/2002, 00:58
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: ayuda con mail porfa¡¡¡

prueba asi:

sql = "SELECT * FROM tabla2 WHERE id="&Request.QueryString("id")

o asi

sql = "SELECT * FROM tabla2 WHERE id="&CINT(Request.QueryString("id&qu ot;))


si dices que no te regresa nada el querystring entonces el problema esta en que no mandas la variable id por medio del url
  #14 (permalink)  
Antiguo 28/03/2002, 01:16
 
Fecha de Ingreso: enero-2002
Mensajes: 217
Antigüedad: 23 años, 4 meses
Puntos: 0
Re: ayuda con mail porfa¡¡¡

grande urjose como siempre pero me quedo otro problema.

Cuando me baja el formulario En el primer Sub el id=2

Pero en el segundo Sub, el id=0 como la hago para que no se pierda.


probe pegando el codigo sobre el primer sub

entre los dos sub

y entre el segundo sub, pero siempre se pierde...


gracias amigo por tu tiempo...

salu2

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:56.