Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] Exportar Multiples Consultas

Estas en el tema de Exportar Multiples Consultas en el foro de .NET en Foros del Web. Hola amigos, tengo varias dudas sobre VB. net y Mysql, necesito guardar los datos de varias consultas en un archivo de texto o en un ...
  #1 (permalink)  
Antiguo 10/04/2013, 13:07
Avatar de UNDR4  
Fecha de Ingreso: marzo-2012
Ubicación: Death Valley
Mensajes: 46
Antigüedad: 12 años, 1 mes
Puntos: 2
Pregunta Exportar Multiples Consultas

Hola amigos, tengo varias dudas sobre VB. net y Mysql, necesito guardar los datos de varias consultas en un archivo de texto o en un xml (cualquiera de los 2 esta bien) pero debo hacerlo en la siguiente forma

Código XML:
Ver original
  1. <Base de Datos>
  2.    <Tabla X label=dato1>
  3.        <Tabla Y label="Dato 1">
  4.            <Tabla Final label="Dato 1" />
  5.            <Tabla Final label="Dato 2" />
  6.        </Tabla Y>
  7.         <Tabla Y label="Dato 2">
  8.            <Tabla Final label="Dato 1">
  9.            <Tabla Final label="Dato 2">
  10.            <Tabla Final label="Dato 3">
  11.            <Tabla Final label="Dato 4">
  12.        </Tabla Y>
  13.    </Tabla X>
  14. </Base de Datos>

mi idea para recorrer cada registro que la consulta regresa y guardarlo en un txt con el formato anterior es usando un while de esta forma

Código HTML:
Ver original
  1. Query Tabla X
  2.     while(resultado !=null )
  3.        guardo en  txt  datos del primer registro de la query
  4.        Query Tabla Y
  5.             while(resultado != null)
  6.                 guardo txt resultado de la query
  7.                 query Tabla Final
  8.                    while(resultado != null)
  9.                        guardo en txt resultado de la query

los problemas que tengo es que no estoy seguro de como almacenar cada registro de la query, estoy utilizando la sentencia MySqlDataReader como pueden ver en el siguiente ejemplo , pero al usar 2 reader me genera error al momneto de entrar en el segundo cmd.ExecuteReader()

Código vb:
Ver original
  1. Try
  2.             Conexion.Open()
  3.  
  4.             Dim ReaderMa As MySqlDataReader
  5.             cmd = New MySqlCommand("SELECT * FROM marca", Conexion)
  6.             ReaderMa = cmd.ExecuteReader()
  7.             While ReaderMa.Read()
  8.                 MsgBox(ReaderMa.GetInt32(0) & ", " & ReaderMa.GetString(1))
  9.                 Dim ReaderMo As MySqlDataReader
  10.                 cmd = New MySqlCommand("SELECT * FROM modelo WHERE marca_id='" & ReaderMa.GetInt32(0) & "'")
  11.                 ReaderMo = cmd.ExecuteReader()
  12.                 While ReaderMo.Read()
  13.                     MsgBox(ReaderMo.GetInt32(0) & ", " & ReaderMo.GetString(1) & ", " & ReaderMo.GetInt32(2))
  14.                 End While
  15.                 ReaderMo.Close()
  16.             End While
  17.             ReaderMa.Close()
  18.  
  19.             Conexion.Close()
  20.         Catch ex As Exception
  21.             MsgBox("Error :", ex.Message)
  22.             Conexion.Close()
  23.         End Try

Y dado que .net no es mi fuerte no sé cómo guardar información dentro de un archivo externo, si me pudieran apoyar con un ejemplo sencillo de archivos en .net y orientarme un poco más en el uso de los reader se los agradecería mucho
__________________
†UNDR4†
Un programador es un mamífero nocturno de ojos rojos capaz de conversar con objetos inanimados.

Última edición por UNDR4; 10/04/2013 a las 13:46 Razón: Complementar codigo
  #2 (permalink)  
Antiguo 11/04/2013, 05:14
Avatar de difilippocarlos  
Fecha de Ingreso: junio-2010
Mensajes: 109
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Exportar Multiples Consultas

Tenes el Try... dejanos el msj q te da el Catch...


te dejo una forma sencilla de escritura y lectura

Escritura Simple
Código:
 ' Crea el archivo  (Apodo, ruta/nombre, modo de apertura)
 FileOpen(1, "C:\Texto.txt", OpenMode.Output)
 ' escribe el contenido  (apodo, string)
 Write(1, TextBox1.Text)
' lo cierra
 FileClose(1)
La que uso yo
Código:
'Creamos un objeto de la clase StreamWriter(ruta\nombre.txt)
Dim objSW As New System.IO.StreamWriter("C:\archivo_prueba.txt")

'Declaramos el texto a colocar en el Archivo
Dim strArchivo As String = "Línea de texto " & vbNewLine & "Otra linea de texto"
'tambien lo podes hacer en un while
'con strArchivo = "Linea de Texto" & vbNewLine

'Ahora escribimos el archivo
objSW.WriteLine(strArchivo)
'y "cerramos" por asi decirlo
objSW.Flush()

Ahora la manera en la q yo leo 1 arhivo
Código:
Dim VarArchivo as string
 Try
        Dim sPath As String = "c:\un_archivo.txt"
        Dim sContent As String = vbNullString

        With My.Computer.FileSystem
             ' verifica si existe el path  
             If .FileExists(SPath) Then
                  ' lee todo el contenido  
                  sContent = .ReadAllText(SPath)
                 VarArchivo = sContent.ToString
             Else
                  MsgBox("ruta inválida", MsgBoxStyle.Critical, "error")
             End If
        End With
        ' errores  
        Catch ex As Exception
            MsgBox(ex.Message.ToString, MsgBoxStyle.Critical)
        End Try

Etiquetas: mysql, query
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 17:05.