Get Rows devuelve campos vacíos

30/09/2004 - 11:55 por Pablo Taboada | Informe spam
Hola:

Tengo un problema al usar el método GetRows en aplicaciones
asp con base de datos en SQLServer.

Hasta ahora siempre utilicé GetRows para volcar todo el
contenido del recordset en un array y cerrar inmediatamente
la conexión con la BD y después pelearme con el array. Pero
me está ocurriendo algo extraño que no consigo solucionar a
pesar de llevar una semana dándole vueltas. Al hacer una
consulta sobre la base y volcarla en el array con GetRows,
determinadas posiciones del array figuran como vacías a
pesar de que el registro en cuestión tiene datos en esos
campos.

Si recorro la tabla moviéndome por el recordset con los
métodos habituales (MoveNext y demás), aparecen todos los
datos correctamente, pero si hago el volcado con GetRows,
hay algunos campos que, teniendo datos en la tabla,
aparecen como si no tuvieran ningún dato.

Lo peor es que en algunas páginas me funciona
perfectametne, y en otras no.

¿A alguien le ha pasado algo parecido?, ¿alguna sugerencia?

Preguntas similare

Leer las respuestas

#11 Pablo Taboada
07/10/2004 - 10:44 | Informe spam
Vale, muchas gracias, creo que ahora ya entiendo todo el
problema. La verdad es que hasta ayer no había caido en que
el problema podía estar en los campos BLOB, pues los campos
intermedios de otro tipo también me aparecían vacíos, pero
creo que ahora está claro.

Lo que no me acaba de convencer es la solución que proponen
de partir los campos BLOB en campos de texto de 255
caracteres en otra tabla. Aunque aumente la eficiencia de
espacio no estoy convencido de que todo el cambio
estructural merezca la pena. De momento é optado por no
llamar nunca a más de un campo BLOB por consulta y además
ponerlo siempre en último lugar de la lista, de forma que
no haya problemas. De este modo no tengo que sacrificar el
tipo de puntero más eficaz.

muchas gracias por todo y un saludo
Pablo Taboada


¡Importante!: Colabora con el grupo.Contesta a este


mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
:)) Haber comenzado por allí!!!
Se trata de la forma en que SQL Server devuelve los datos


BLOB y es que
lo hace secuencialmente... por eso no se aconseja tener


más de un campo...
pero sobre todo.. tengas los que tengas (en el sql) deben


ir al final (y de
ser posible primero los más pequeños y luego los mas


grandes)
Tu problema está documentado
http://support.microsoft.com/defaul...?scid=http://support.microsoft.com:80/support/kb/articles/Q175/2/39.asp&NoWebContent=1
Y aunque a ti no te dé el error específico que dice el


KB... hay algunos que
han reportado lo que tu al respecto ...
http://www.mail-archive.com//msg01037.html
Por otro lado, lo del control ADO no aplica a ASP
Y además no tiene que ver el que tu no tengas acceso


servidor de base de
datos con tu cadena de conexión si estas usando


dsn quizá podrías
probar con coneciones dsnless. aca tienes algunos


ejemplos (fijate que
en OLE DB Provider for ODBC Databases dice... WARNING:


This OLE DB Provider
is considered obsolete by Microsoft!) y revisa la cadena


de conexión para
OLE DB Provider for SQLBase
http://www.able-consulting.com/ADO_Conn.htm

Sashka
MS MVP Access
MCP ASP.Net
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida