96 messaggi dal 28 febbraio 2006
Buongiorno sto costruendo un programma vb.net associato a sql server, lo scopo e creare N tabelle con i dati caricati dai csv .
in rete ho trovo questo codice come posso trasformare il dataTable in una tabella fisica di sql server?

Function ReadCSV(ByVal path As String) As System.Data.DataTable
Dim sr As New StreamReader(path)
Dim fullFileStr As String = sr.ReadToEnd()
sr.Close()
sr.Dispose()
Dim lines As String() = fullFileStr.Split(ControlChars.Lf)
Dim recs As New DataTable()
Dim sArr As String() = lines(0).Split(","c)
For Each s As String In sArr
recs.Columns.Add(New DataColumn())
Next
Dim row As DataRow
Dim finalLine As String = ""
For Each line As String In lines
row = recs.NewRow()
finalLine = line.Replace(Convert.ToString(ControlChars.Cr), "")
row.ItemArray = finalLine.Split(","c)
recs.Rows.Add(row)
Next
Return recs
End Function
11.724 messaggi dal 09 febbraio 2002
Contributi
Ciao,
hai bisogno di uno script in grado di convertire un DataTable in un comando CREATE TABLE, che poi eseguirai con un SqlCommand per fare in modo che la tabella sia creata nel tuo database SQL Server. A quel punto potrai inserire i dati facendo delle INSERT o usando l'oggetto SqlBulkCopy.

Prova a cercare lo script di conversione su internet. Io, da una breve ricerca, non ne ho trovati in VB.NET ma con un po' più di tempo magari avrai più fortuna di me.

Questi sono i link di quelli che ho trovato in C#.
https://www.codeproject.com/Tips/853811/DataSet-to-T-SQL-Script
https://stackoverflow.com/questions/5227306/converting-a-datatable-to-an-create-table-insert-script-for-sql-in-c-sharp

Male che va puoi inserire il codice C# in un proprio progetto Class Library, in modo che venga compilato separatamente dal resto e così che tu lo possa referenziare dal tuo progetto VB.NET.

Non ti consiglio di convertire il codice C# in VB.NET perché c'è il rischio di introdurre errori. O meglio, se te la senti lo puoi fare.


in rete ho trovo questo codice

Non so, a occhio mi sembra un po' semplicistico. Dovresti usare un apposito pacchetto NuGet. Prova con CsvHelper. Ecco come usarlo per ottenere un DataTable.
https://joshclose.github.io/CsvHelper/examples/data-table/

ciao,
Moreno
Modificato da BrightSoul il 31 marzo 2019 13:03 -

Enjoy learning and just keep making
96 messaggi dal 28 febbraio 2006
adesso provo in tanto grazie
11.724 messaggi dal 09 febbraio 2002
Contributi
Prego!
I tuoi CSV contengono sempre le stesse colonne oppure le colonne possono variare?

Enjoy learning and just keep making
96 messaggi dal 28 febbraio 2006
per ora le stesse poi quando avrò codice un po' evoluto potrebbero variare ma nel breve uso sempre gli stessi file con come formato

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.