Visual Basic.NET - Importar datos txt a mysql desde un formulario de VB.NET

 
Vista:
sin imagen de perfil
Val: 7
Ha aumentado su posición en 14 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Importar datos txt a mysql desde un formulario de VB.NET

Publicado por Michael Elvis (16 intervenciones) el 01/09/2022 00:19:01
Buenas tardes, por favor si podrían ayudarme en el siguiente problema que tengo: quiero Importar datos de csv o txt a mysql mediante un botón que tengo en un formulario de visual basic.net, desde ya agradecerles.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Importar datos txt a mysql desde un formulario de VB.NET

Publicado por Phil Rob (1554 intervenciones) el 02/09/2022 16:02:32
Hola,

El comando INSERT y sus parámetros, conoces.
Que te falta están los datos que vienen del fichero CSV.

En el ejemplo siguiente, leo un fichero VSC y tengo sus datos en un DATATABLE. Los nombres de las columnas de DataTable están los nombres de los campos del CSV (la primera linea). Lleno el DataTable con los datos.
Puedes utilizar los campos del DataTable para crear los parámetros del comando INSERT y registrar estos datos en el DB.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Dim MisTablas As New DataSet
 
    Private Function DigaMeCualFichero() As String
 
        ' Si ruta y nombre completo :
        Dim NombreFichero As String = "D:\Tmp\MiCarpeta\MiFichero.csv"  ' es mi ejemplo
 
        Return NombreFichero
    End Function
 
    Private Sub BCargar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BCargar.Click
 
        Dim FicheroALeer As System.IO.StreamReader
        Dim LosDatos As DataTable
        Dim LineaLeida As String
 
        Dim SeparadorSplit As Char() = {";"}   ' a ver si el separador el ; o el ,
        Dim DatosTMP() As String
 
        FicheroALeer = New System.IO.StreamReader(DigaMeCualFichero(), True)  ' Abrir el fichero csv
        LosDatos = New DataTable
 
        ' Tomar las cabezas de las columnas (leer la primera linea) y crear las columans del DataTable
        LineaLeida = FicheroALeer.ReadLine
        DatosTMP = LineaLeida.Split(SeparadorSplit)
        For Indice As Integer = 0 To DatosTMP.Length - 1
            LosDatos.Columns.Add(DatosTMP(Indice))
        Next
 
        ' Tomar los datos de cada linea y llenar el DataTable
        Do Until FicheroALeer.Peek = -1
            LineaLeida = FicheroALeer.ReadLine
            DatosTMP = LineaLeida.Split(SeparadorSplit)
            LosDatos.Rows.Add(DatosTMP)
        Loop
 
        LosDatos.TableName = "TodosDatos"   ' Dar nombre para hacer mas facil mas tarde
        MisTablas.Tables.Add(LosDatos)
 
        FicheroALeer.Close()
        FicheroALeer.Dispose()
 
        ' Unir el DataGridView con el DataTable, si es que quieres
        DGVResultados.DataSource = MisTablas.Tables("TodosDatos")
 
    End Sub

Espero que este te ayudará ... Si necesario, tendré un poco tiempo mañana para escribir ejemplo con INSERT.

Buenas tardes ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar