Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/10/2005, 02:49
Avatar de 3pies
3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 5 meses
Puntos: 144
Problema con almacenamiento memo

Hola que tal...

Bueno, paso a comentaros un problemilla que tengo en una sección de postales virtuales que he hecho:

1.- Tengo una página llamada "postales.asp" donde el usuario selecciona a través de un select distintas temáticas de postales. Si pulsa un botón para seleccionar un tema en concreto, pues se le muestran las postales de esa temática, y abajo un formulario con los datos a rellenar, del remitente y destinatario de la postal, y además, un textarea donde el usuario puede añadir algún comentario adicional. El textarea lo tengo limitado por javascript (y luego más adelante, también por asp, a 500 caracteres como máximo).

2.- Una vez rellenado el formulario (previa selección de la postal que desea enviar), se le muestra la postal en grande, junto con los datos del formulario en una página llamada "confirmarpostal.asp", para que el usuario decida si le gusta o no la postal, y o bien vuelva atrás y la cambie (o cambie los datos del formulario), o bien la envíe al destinatario si es de su agrado. Aquí, si el comentario tiene por ejemplo el tope de 500 caracteres, pues se muestra correctamente (se muestran esos 500 caracteres).

3.- Cuando se envía la postal, si hay errores, evidentemente no se envía la postal y además no se graba nada en la BD, y si no hay errores, se envía y a continuación se graban los datos en una BD (página "postalenviada.asp"). En la BD hay un campo llamado "comentarios" que es de tipo memo.

El problema es el siguiente:
El textarea lo paso de postales.asp a confirmarpostal.asp, a través del formulario y se me muestran correctamente hasta 500 caracteres (limitado con javascript, y no se pueden meter más de 500). En esa página de confirmación de la postal, hay un formulario oculto, con campos hidden, que recoge los datos del form anterior que ha enviado el usuario a esta página (confirmarpostal.asp). Cuando se confirma la postal, y se envía, al almacenarla en la BD, es cuando me surge el problema... Si el input de texto oculto del comentario (el que recojo del textarea original) tiene más de 251 caracteres, solo me graba en la BD esos 251 caracteres (los he contado en Word, y veo que solo graba en la BD los primeros 251 caracteres), cuando lo que tengo es lo siguiente (en la página "postalenviada.asp"):

Código:
'Cuando recojo los datos del form oculto de "confirmarpostal.asp"
comentarios=request.form("comentarios")
Código:
'Una vez se envía la postal, almaceno los datos, entre ellos este
'(la función CortarCadenaLarga no afecta a esa limitación de 251 caracteres,
'pues la uso sin problemas en un libro de visitas)
if comentarios<>"" then rs.Fields("comentarios")=CortarCadenaLarga(left(comentarios,500))
¿Se os ocurre donde puede estar el error?.

Gracias por vuestra paciencia y perdón por el rollete.

Editado: Por ningún lado, y en ninguna página tengo nada del tipo: comentarios=left(comentarios,251), ya que solo es en postalenviada.asp, donde tengo esa limitación de 500 caracteres, para almacenarlos en la BD.

Última edición por 3pies; 24/10/2005 a las 02:58