• Lunes 23 de Diciembre de 2024, 00:05

Autor Tema:  Generar Archivos Textos  (Leído 3568 veces)

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Generar Archivos Textos
« en: Viernes 18 de Febrero de 2005, 16:42 »
0
Hola a todos, quisiera saber si me pueden orientar o decirme donde puedo encontrar ejemplos para poder realizar archivos textos desde una DB de access.  :(

Gracias  :(
Sagma

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Re: Generar Archivos Textos
« Respuesta #1 en: Domingo 20 de Febrero de 2005, 00:31 »
0
puedes explicar un poco, mas de que quieres generar los archivos txt, en que quieres generarlo en transact?


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Re: Generar Archivos Textos
« Respuesta #2 en: Lunes 21 de Febrero de 2005, 17:12 »
0
Bueno, lo que pasa, es que quiero hacer una consulta a la DB que se tiene, en access, y en base a esa consulta quiero generar archivos textos de algunos datos. esto lo quiero hacer sobre un winforms.


Gracias  :(
Sagma

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Re: Generar Archivos Textos
« Respuesta #3 en: Martes 22 de Febrero de 2005, 00:12 »
0
a ver si te entendi, osea queires: que cuando hagas una consulta por ejemplo: "SELECT * FROM REGION", todas las filas encontradas las almacenes en un archivo de texto...eso?

si es eso, fácil solo tienes que usar Sistem.IO, y crear un archivo, y despues solo escribes en el archivo, no te olvides de cerrar el archivo para guardar los datos...


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Re: Generar Archivos Textos
« Respuesta #4 en: Sábado 26 de Febrero de 2005, 15:23 »
0
Hola a todos, tengo un codigo que no funca, el mensaje que me sale es,  

Citar

Excepcion no controlada de tipo 'system.data.oledb.oledbexception.dll


Código: Text
  1.  
  2.  
  3.         Dim i As Integer
  4.         Dim strLine, fileName, fileCSV As String
  5.         Dim objFileStream As FileStream
  6.         Dim objStreamWriter As StreamWriter
  7.         Dim nRandom As Random = New Random(DateTime.Now.Millisecond)
  8.         Dim fs As Object, myFile As Object
  9.         Dim cnn As OleDbConnection = New OleDbConnection( _
  10.                 "Provider=Microsoft.Jet.OLEDB.4.0;Data  Source=c:\sagmasoft\db1.mdb;User Id=admin;Password=;")
  11.  
  12.         'esto es una copia de como estaba hantes
  13.         '"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\sagmasoft\db1.mdb")
  14.         '"Data Source=" & Application.StartupPath & _
  15.  
  16.         'Crear un nombre de archivo pseudoaleatorio.
  17.         'fileCSV = "t" & nRandom.Next().ToString() & ".txt"
  18.         fileCSV = "ofemat.txt"
  19.  
  20.         'fileName = Application.StartupPath & "\sagmasoft\" & fileCSV
  21.         fileName = "\sagmasoft\" & fileCSV
  22.  
  23.         'Utilizar FileStream para crear el archivo .csv.
  24.         objFileStream = New FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write)
  25.         objStreamWriter = New StreamWriter(objFileStream)
  26.  
  27.         'Utilizar un DataReader para conectarse a la base de datos Pubs.
  28.         cnn.Open()
  29.         Dim sql As String = "select * from horario"
  30.         Dim cmd As OleDbCommand = New OleDbCommand(sql, cnn)
  31.         Dim dr As OleDbDataReader
  32.         dr = cmd.ExecuteReader()
  33.  
  34.         'Enumerar los nombres de campo y los registros que se van a utilizar para generar el archivo.
  35.         For i = 0 To dr.FieldCount - 1
  36.             strLine = strLine & dr.GetName(i).ToString & ","
  37.         Next
  38.  
  39.         'Escribir información de nombre de campo en el archivo.
  40.         objStreamWriter.WriteLine(strLine)
  41.  
  42.         'Volver a inicializar la cadena de datos.
  43.         strLine = ""
  44.  
  45.         'Enumerar la base de datos que se utiliza para llenar el archivo.
  46.         While dr.Read()
  47.             For i = 0 To dr.FieldCount - 1
  48.                 strLine = strLine & dr.GetValue(i) & ","
  49.             Next
  50.             objStreamWriter.WriteLine(strLine)
  51.             strLine = ""
  52.         End While
  53.  
  54.         'Limpiar.
  55.         dr.Close()
  56.         cnn.Close()
  57.         objStreamWriter.Close()
  58.         objFileStream.Close()
  59.  
  60.  
  61.  

gracias por la ayuda  :comp:
Sagma

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Re: Generar Archivos Textos
« Respuesta #5 en: Sábado 26 de Febrero de 2005, 17:38 »
0
hola sagma, el problema puede ser por varias causas la conexion esta mal, leistes mal el datareader, la consulta, o cualquiera que tenga algo que ver con un obejto OLEDB. Lo que tienes que hacer es colocar un bloque try y capturar la excepcion para ver especificamente en donde esta el problema...


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Re: Generar Archivos Textos
« Respuesta #6 en: Miércoles 2 de Marzo de 2005, 17:11 »
0
Hola, sabes el problema que tenia es que la DB lo tenia en otro directorio y no donde debia estar, ademas estama mal escrito el nombre de la DB, pos ahora si funca  :kicking: .
Pero tengo una pregunta mas, como puedo hacer para que el campo hora que se tiene ya sea que sale 7:30 este salga como 7.30.  :devil:

mil gracias y disculpa las molestias
Sagma

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Re: Generar Archivos Textos
« Respuesta #7 en: Miércoles 2 de Marzo de 2005, 20:04 »
0
Si quieres recuperarlo y mostrarlo como dices no hay problema, puedes recuperar la hora normal y recuperarlo en dato DateTime de VB.Net, cuando tengas ese dato, puedes recuerar la hora, minutos y demas por separado, despues solo le agregas el puntito y listo.

Otra cosa, es que en la base de datos se almacene en ese formato, si es asi, me lo haces saber.


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Re: Generar Archivos Textos
« Respuesta #8 en: Viernes 4 de Marzo de 2005, 17:52 »
0
hola sergio: sip ya todo esta ok en lo que se echo, y se hizo de la siguiente manera:

Citar

'Enumerar la base de datos que se utiliza para llenar el archivo.
While dr.Read()
For i = 0 To dr.FieldCount - 1
strLine = strLine & dr.GetValue(i) & ","
Next
strLine = Replace(strLine, ":", ".")
objStreamWriter.WriteLine(strLine)
strLine = ""
End While


y como son los dos unicos campo que se quiere cambiar, funca.
Gracias  :comp:
Sagma

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Re: Generar Archivos Textos
« Respuesta #9 en: Sábado 5 de Marzo de 2005, 01:01 »
0
(Y)


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!