Salve a tutti.
Nel mio programma, ho la necessità di caricare tutte le linee di un file cvs (di volta in volta diverso) in una tabella access.
Quindi, prima di iniziare il ciclo di lettura, azzero la tabella e quindi all'interno del ciclo e fino a quando peek <> -1 leggo le righe, assegno i campi a delle variabili e richiamo questa sub (passandoli come parametri)
codice:
Dim connection As New OleDbConnection(stringaconn)
Dim cmd As New OleDbCommand("Insert into fiel(FI1,FI2,FI3,FI4,FI5) VALUES (?,?,?,?,?)", connection)
cmd.Parameters.AddWithValue("@FI1", campo1)
cmd.Parameters.AddWithValue("@FI2", campo2)
cmd.Parameters.AddWithValue("@FI3", Replace(campo3, """", ""))
cmd.Parameters.AddWithValue("@FI4", campo4)
cmd.Parameters.AddWithValue("@FI5", campo5)
connection.Close()
connection.Open()
Try
cmd.ExecuteNonQuery()
xt += 1
connection.Close()
Catch es As Exception
MessageBox.Show("Errore durante l'aggiornamento della tabella " + Chr(13) + Chr(13) + "(" + es.Message + ")")
connection.Close()
End Try
PROBLEMA:
alla fine del ciclo la variabile, *** leggendo sempre lo stesso file ***, xt (messa li' solo per contare i record scritti) mi dice 1.015 (che è valore giusto), ma la tabella mi presenta, di volta in volta, un numero di record diverso (955, 1.001, 980, ecc, ecc).
Non riesco proprio a raccapezzarmi .....