none
Exportar consulta sql a un archivo txt - vb.net

    Pregunta

  • Buenos dias, tengo una consulta como puedo yo expotar mediante un boton de visual, una consulta sql, y que me lo exporte el resultado en un archivo txt.
    sábado, 21 de enero de 2017 14:25

Respuestas

  • Oscar Perez 1234,

    Un ejemplo práctico:

    Try
    	'Acceder a la base de datos
    	Using cn As New SqlConnection("Cadena de conexión")
    	
    		Dim da As New SqlDataAdapter("Consulta sql", cn)
    		Dim dt As New DataTable
    		
    		'En caso la consulta sql defina parámetros
    		da.SelectCommand.Parameters.AddWithValue("@id", Valor)		
    
    		'Rellenar las filas recuperadas a un objeto de tipo DataTable
    		da.Fill(dt)
    
    		'Escribir en un archivo de texto las filas recuperadas
    		File.WriteAllLines("Ruta del archivo", 
                            dt.Rows.Cast(Of DataRow)().Select(Function(x) String.Join(", ", x.ItemArray)))
    	End Using
    Catch ex As Exception
    	MessageBox.Show(ex.Message)
    End Try

    No olvides indicar el espacio de nombres: Imports System.Linq



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    sábado, 21 de enero de 2017 16:25

Todas las respuestas

  • Pasos:

    • Poner la consulta en un SqlCommand y ejecutarlo con ExecuteReader.
    • Abrir un StreamWriter sobre el fichero a generar.
    • Recorrer con un While los registros devueltos por el DataReader llamando a Read.
    • Recorrer con un For las columnas del registro, concatenándolas en un string
    • Escribir el String en el fichero.
    • Repetir hasta que se acaben los bucles, y cerrar el StreamWriter, el DataReader, y la conexión.
    sábado, 21 de enero de 2017 15:43
  • Oscar Perez 1234,

    Un ejemplo práctico:

    Try
    	'Acceder a la base de datos
    	Using cn As New SqlConnection("Cadena de conexión")
    	
    		Dim da As New SqlDataAdapter("Consulta sql", cn)
    		Dim dt As New DataTable
    		
    		'En caso la consulta sql defina parámetros
    		da.SelectCommand.Parameters.AddWithValue("@id", Valor)		
    
    		'Rellenar las filas recuperadas a un objeto de tipo DataTable
    		da.Fill(dt)
    
    		'Escribir en un archivo de texto las filas recuperadas
    		File.WriteAllLines("Ruta del archivo", 
                            dt.Rows.Cast(Of DataRow)().Select(Function(x) String.Join(", ", x.ItemArray)))
    	End Using
    Catch ex As Exception
    	MessageBox.Show(ex.Message)
    End Try

    No olvides indicar el espacio de nombres: Imports System.Linq



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    sábado, 21 de enero de 2017 16:25
  • Gracias
    sábado, 21 de enero de 2017 19:19