Recordset sin conexion

23/07/2003 - 12:44 por PaVBLo | Informe spam
Hola,

Tengo una pregunta... Voy a leer un TXT delimitado por "comas" y cargalos en
objeto Recorset (temporal), pero, este recorset no lo traigo de una base de
datos (es decir, esta desconectado). Esto es a los fines de hacer filtros,
consultas y validaciones sobre los datos usando sql y no sobre el txt.
Quiero crear las columnas en tiempo de ejecución y llenarlo con los valores
que vaya leyendo del TXT.
Esto es posible, me podeis referir a algún codigo de ejemplo?

Mil gracias...

PaVBLo.

Preguntas similare

Leer las respuestas

#1 Jhonny Vargas P.
23/07/2003 - 15:33 | Informe spam
Hola Pablo,

Puedes recorrer el línea por línea el archivo y hacer validaciones directas,
para separar los campos que vienen con punto y coma, utiliza la función
SPLIT, la cual crear un ARRAY con todos los campos encontrados, según el
separador que quieras, en este caso el Punto y Coma.

Para validar, puedes ir campo por campo y hacer las validaciones directas o
también puedes validar el archivo de texto con XML, creando una plantilla
(SCHEMA XSD) y validar automáticamente el XML.

Por lo tanto solamente necesitarías armar tu plantilla (XSD) y al archivo
txt transformarlo en XML, con el XML también puedes hacer busquedas mediante
el Microsoft Parser XML 4.0 (DomDocument).

Uff... y así hay muchas alternativas... también puedes subir todo tu archivo
txt al servidor (siempre y cuando trabajes con Sql Server) y trabajarlo
directamente en el servidor y no en tu aplicación... con esto te rinde
considerablemente el tiempo, aunque toda la lógica de las validaciones
estarían en tu servidor (aunque no es para nada malo... por el contrario
bueno).


Saludos,
Jhonny Vargas P. [MS MVP-ASP]
Santiago de Chile


"PaVBLo" wrote in message
news:
Hola,

Tengo una pregunta... Voy a leer un TXT delimitado por "comas" y cargalos


en
objeto Recorset (temporal), pero, este recorset no lo traigo de una base


de
datos (es decir, esta desconectado). Esto es a los fines de hacer filtros,
consultas y validaciones sobre los datos usando sql y no sobre el txt.
Quiero crear las columnas en tiempo de ejecución y llenarlo con los


valores
que vaya leyendo del TXT.
Esto es posible, me podeis referir a algún codigo de ejemplo?

Mil gracias...

PaVBLo.


Respuesta Responder a este mensaje
#2 Juan Miranda G
23/07/2003 - 18:26 | Informe spam
PaVBlo,

Intenta lo siguiente:
Dim rs
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Fields.Append "Campo1", adChar, 12
rs.Fields.Append "Campo2", adChar, 10
rs.Fields.Append "Campo3", adInteger
rsRST.Open
...
...

y luego utilizas el recordset como lo necesites.

Pruébalo y avisa tus resultados.

JMG





Hola,

Tengo una pregunta... Voy a leer un TXT delimitado


por "comas" y cargalos en
objeto Recorset (temporal), pero, este recorset no lo


traigo de una base de
datos (es decir, esta desconectado). Esto es a los fines


de hacer filtros,
consultas y validaciones sobre los datos usando sql y no


sobre el txt.
Quiero crear las columnas en tiempo de ejecución y


llenarlo con los valores
que vaya leyendo del TXT.
Esto es posible, me podeis referir a algún codigo de


ejemplo?

Mil gracias...

PaVBLo.


.

Respuesta Responder a este mensaje
#3 Jhonny Vargas P.
23/07/2003 - 21:10 | Informe spam
Hola Pablo,

Entonces, deberías hacer 2 validaciones.

La primera, para ver que los datos sean correctos y que vengan, es decir,
que sean númericos, caracteres, fechas, etc... y para eso lo puedes hacer
desde código al momento de leer el archivo.

La segunda, en la Base de datos, mediante una tabla temporal, con la misma
estructura que tienes en el archivo de texto, con esto puedes ir
relacionando los códigos correspondientes para que sean correctos.

Saludos,
Jhonny Vargas P.





"PaVBLo" wrote in message
news:
Gracias Jhonny lo haré directamente usando una mdb temporaria para


descargar
los datos del txt y luego validar. Lo que dices está muy bien... pero me
cuesta hacerlo.
Para explicarte un poco más, necesitaba hacer esto con rst pues no son


solo
validaciones semánticas y te valores las que haré sobre los campos, sino


que
también tengo que validar contra otros dos rst que cargan tambien valores.
Por ejemplo, que el Registro Nº 1 del rst1, se encuentre relacionado con


al
menos uno de el rst2. Y así..
Por lo tanto, no me sirve ir validando secuencialmente sino tener todas


las
tablas cargadas y lanzar las consultas.
Pero que pasa, una vez que obtengo todos los resultados de las
comprobaciones, escribir un reporte html dinámicamente y destruir esas
tablas que creé para el fin.
No se si me comprendes, pero si se te ocurre algo que mejore el hecho de
llenar una temporal, are wellcome...

Te dejo un abrazo y gracias por contestar.

PaVBlo


"Jhonny Vargas P." escribió en el


mensaje
news:
> Hola Pablo,
>
> Puedes recorrer el línea por línea el archivo y hacer validaciones
directas,
> para separar los campos que vienen con punto y coma, utiliza la función
> SPLIT, la cual crear un ARRAY con todos los campos encontrados, según el
> separador que quieras, en este caso el Punto y Coma.
>
> Para validar, puedes ir campo por campo y hacer las validaciones


directas
o
> también puedes validar el archivo de texto con XML, creando una


plantilla
> (SCHEMA XSD) y validar automáticamente el XML.
>
> Por lo tanto solamente necesitarías armar tu plantilla (XSD) y al


archivo
> txt transformarlo en XML, con el XML también puedes hacer busquedas
mediante
> el Microsoft Parser XML 4.0 (DomDocument).
>
> Uff... y así hay muchas alternativas... también puedes subir todo tu
archivo
> txt al servidor (siempre y cuando trabajes con Sql Server) y trabajarlo
> directamente en el servidor y no en tu aplicación... con esto te rinde
> considerablemente el tiempo, aunque toda la lógica de las validaciones
> estarían en tu servidor (aunque no es para nada malo... por el contrario
> bueno).
>
>
> Saludos,
> Jhonny Vargas P. [MS MVP-ASP]
> Santiago de Chile
>
>
> "PaVBLo" wrote in message
> news:
> > Hola,
> >
> > Tengo una pregunta... Voy a leer un TXT delimitado por "comas" y
cargalos
> en
> > objeto Recorset (temporal), pero, este recorset no lo traigo de una


base
> de
> > datos (es decir, esta desconectado). Esto es a los fines de hacer
filtros,
> > consultas y validaciones sobre los datos usando sql y no sobre el txt.
> > Quiero crear las columnas en tiempo de ejecución y llenarlo con los
> valores
> > que vaya leyendo del TXT.
> > Esto es posible, me podeis referir a algún codigo de ejemplo?
> >
> > Mil gracias...
> >
> > PaVBLo.
> >
> >
>
>


Respuesta Responder a este mensaje
#4 PaVBLo
24/07/2003 - 12:57 | Informe spam
Juan, gracias por contestar. He intentado eso y me da algunos problemas,
sobretodo en los tipos de datos. Igualmente llegué a buen puerto usando una
mdb temporal.

De cualquier manera, gracias nuevamente.

Saludos

PaVBlo


"Juan Miranda G" escribió en el mensaje
news:0ed601c35137$39084400$
PaVBlo,

Intenta lo siguiente:
Dim rs
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Fields.Append "Campo1", adChar, 12
rs.Fields.Append "Campo2", adChar, 10
rs.Fields.Append "Campo3", adInteger
rsRST.Open
...
...

y luego utilizas el recordset como lo necesites.

Pruébalo y avisa tus resultados.

JMG





Hola,

Tengo una pregunta... Voy a leer un TXT delimitado


por "comas" y cargalos en
objeto Recorset (temporal), pero, este recorset no lo


traigo de una base de
datos (es decir, esta desconectado). Esto es a los fines


de hacer filtros,
consultas y validaciones sobre los datos usando sql y no


sobre el txt.
Quiero crear las columnas en tiempo de ejecución y


llenarlo con los valores
que vaya leyendo del TXT.
Esto es posible, me podeis referir a algún codigo de


ejemplo?

Mil gracias...

PaVBLo.


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida