Salve a tutti!!

dovrei riempire un datagrid da un file csv(il separatore è
col seguente codice riesco alla grande:
codice:
        Dim fi As New System.IO.FileInfo(indice_input)
        Dim sConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=""Text;HDR=No;FMT=Delimited(;)\""" + ";Data Source=" & fi.DirectoryName + ";"
        'Dim sConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=""Text;HDR=No;FMT=Delimited\""" + ";Data Source=" & fi.DirectoryName + ";"
        Dim objConn As New OleDbConnection(sConnectionString)
        objConn.Open()
        Dim objCmdSelect As New OleDbCommand("SELECT * FROM " & fi.Name, objConn)

        Dim objAdapter1 As New OleDbDataAdapter

        objAdapter1.SelectCommand = objCmdSelect
        Dim objDataset1 As New DataSet

        objAdapter1.Fill(objDataset1, "test")
        objDataset1.Tables.Add.Columns.Add(1)

        DataGridView1.DataSource = objDataset1.Tables(0).DefaultView
        objConn.Close()
dove indice_input contiene tutto il file compreso di path.

a questo punto ho due problemi:
-se un campo della prima riga del file csv è vuoto, vengono ignorati anche i successivi anche se sono pieni esempio:
file csv:
ciao;a;tutto;il; ;
ciao;a;tutto;il;forum

il datagrid è un 4x2:
ciao a tutto il
ciao a tutto il

il problema c'è anche se la prima riga del csv contiene un numerico: se i corrisondenti successivi sono alfanumerici non vengono riportati...

-al dataset dovrei aggiungere una colonna vuota a sx (che deve comparire nel datagrid) che dovrà essere popolata dinamicamente... come si può fare?

grazie a tutti della pazienza!!
ciao ciao