Foros del Web » Programando para Internet » ASPX (.net) »

Mostrar campo memo. No se ven todos los caracteres

Estas en el tema de Mostrar campo memo. No se ven todos los caracteres en el foro de ASPX (.net) en Foros del Web. Buenos dias, Saben si se ha de hacer algo especial para mostrar un campo memo de Access? Lo trato como si fuera un campo más, ...
  #1 (permalink)  
Antiguo 25/04/2006, 06:11
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Mostrar campo memo. No se ven todos los caracteres

Buenos dias,
Saben si se ha de hacer algo especial para mostrar un campo memo de Access?
Lo trato como si fuera un campo más, pero cuando lo muestro, me saca solo los primeros 255 caracteres y se come el resto...

Saben a que se debe?

Uso VB 2005 y Access 2003

Les pongo una porcion del codigo para que vean... Los dos campos Memo son Resumen y Descripcion:

Código:
sB.Append("SELECT ")
sB.Append("IIF(IdApartamento Is Null, 0, IdApartamento) AS IdApartamento, ")
sB.Append("IIF(Nombre Is Null, '', Nombre) AS Nombre, ")
sB.Append("IIF(Resumen Is Null, '', Resumen) AS Resumen, ")
sB.Append("IIF(Descripcion Is Null, '', Descripcion) AS Descripcion, ")
sB.Append("IIF(Foto1 Is Null, '', Foto1) AS Foto1, ")
sB.Append("IIF(Foto2 Is Null, '', Foto2) AS Foto2, ")
sB.Append("IIF(Foto3 Is Null, '', Foto3) AS Foto3, ")
sB.Append("IIF(Foto4 Is Null, '', Foto4) AS Foto4, ")
sB.Append("IIF(Foto5 Is Null, '', Foto5) AS Foto5 ") 'El ultimo no lleva coma
sB.Append("FROM Apartamentos WHERE IdApartamento = ?")

Dim miConn As New OleDbConnection(ConfigurationManager.ConnectionStrings("ConnStr").ConnectionString)
Dim cM As New OleDbCommand(sB.ToString, miConn)
cM.Parameters.Add("IdApartamento", OleDbType.Integer).Value = CInt(IdApartamento)
Dim misDetalles As New DetallesApartamento
Dim dR As OleDbDataReader
miConn.Open()
dR = cM.ExecuteReader
If dR.Read Then
  misDetalles.IdApartamento = IdApartamento
  misDetalles.Nombre = dR("Nombre")
  misDetalles.Resumen = dR("Resumen") '--> En este punto, el datareader solo ha recuperado 255 caracteres, en cambio en la BD hay mas...
  misDetalles.Descripcion = dR("Descripcion")
  misDetalles.Foto1 = dR("Foto1")
  misDetalles.Foto2 = dR("Foto2")
  misDetalles.Foto3 = dR("Foto3")
  misDetalles.Foto4 = dR("Foto4")
  misDetalles.Foto5 = dR("Foto5")
Else
  misDetalles.IdApartamento = 0
End If
miConn.Close()
miConn.Dispose()
Gracias a todos!
Saludos.
__________________
..:: moNTeZIon ::..

Última edición por moNTeZIon; 26/04/2006 a las 10:53
  #2 (permalink)  
Antiguo 26/04/2006, 03:47
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Ya me estoy volviendo un poco majara con esto... Quizá al final sea una tontería, pero no doy con el tema.

He estado comprobando otros proyectos que tengo, y lo hago de la misma forma a la hora de recuperar los campos memo... y esos proyectos me funcionan correctamente. Me devuelve todo el campo memo entero al rellenar un dataset o un datareader.
Que puede estar ocurriendo en este proyecto en concreto? Debo mirar algo de la version de access? Estoy perdido con esto..
__________________
..:: moNTeZIon ::..
  #3 (permalink)  
Antiguo 26/04/2006, 11:43
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Bueno, por fin lo tengo... Ya podia yo darle vueltas.

Resulta que al recuperar el campo memo de esta forma:

SELECT ..., IIF(Resumen Is Null, '', Resumen) AS Resumen, ... FROM ...

Me estaba truncando el texto del campo MEMO. Le he quitado el tema del IIF Is Null, quedando simplemente el nombre del Campo:

SELECT ..., Resumen, ... FROM ...

Y ahora me devuelve todo.
Bien, tampoco lo he visto en ningún lado despues de buscar mucho, ha sido haciendo pruebas y más pruebas...
Alguin tiene una explicación para esto? Y de paso, hay forma de comprobar si el valor es nulo en la capa de Datos y devolver un longitud cero("") en tal caso? Hasta ahora lo he hecho así, pero veo que con los MEMO no funciona..

Gracias a todos.
Saludos.
__________________
..:: moNTeZIon ::..
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 20:30.