Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [VB .NET] Errata lettura stringa da file CSV

    Buongiorno a tutti, sto creando un'applicazione che prende un file CSV (che usa la , come separatore) e lo inserisce in una tabella SQL. Il mio problema è che quando leggo una colonna nel file del tipo " ,SETTORE TIPO "A" USD, " non riesco + a laggere le colonne successive nel file, in quanto il read() si blocca appena trova nella stringa il carattere ".

    Il codice usato è il seguente:
    Dim ConnectionString As String = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" & Me.txtDir.Text & ";Extended Properties=Text;FMT=Delimited"

    .
    .
    csvCommand.CommandText = "select * from " & file & ""
    csvCommand.CommandType = CommandType.Text
    csvReader = csvCommand.ExecuteReader()
    .
    .
    Do While csvReader.Read()
    .
    .
    csvReader(4).ToString().Trim() 'Comando usato per leggere la quarta colonna nel file, quella che mi da problemi.
    .
    .
    loop


    Conoscete un modo per poter specificare il fine campo esattamente con la "," in modo da fargli prendere tutto ciò che è compreso tra due "," consecutive?.

    Grazie

  2. #2
    Per motivi di tempo, ho trovato una soluzione alternativa, a mio avviso poco ortodossa, ma funzionante:

    For Each file In files
    Dim lines() As String
    Dim ss As String
    Dim j As Integer
    lines = IO.File.ReadAllLines(file)
    Dim strSplit() As String
    For i = 1 To lines.Length - 1
    ss = lines(i)
    strSplit = ss.Split(",")
    For j = 0 To strSplit.Length - 1
    record_str = record_str & strSplit(j) & ControlChars.NewLine
    Next j
    MsgBox(record_str)
    record_str = "Record" & ControlChars.Cr
    Next i
    Next

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.