Hallo,
Ich stehe vor einem kleinen Rätsel und hoffe, dass mir jemand mit einer Idee weiter helfen kann.
Ich erzeuge aus einer CSV eine DataTable und lese die in SQLite ein.
Funktioniert auch, bis Zeile 38.
Der Code
Die geplanten Schritte sind:
1. Ich gebe mit OpenFileDialog an, wo die CSV liegt (zur Zeit deaktiviert)
2. Es wird eine shema.ini erzeugt 8noch nicht umgesetzt)
3. Daten werden importiert
4. Daten werden in SQLite kopiert
Wie gesagt, geht bis zu Zeile 38 von rund 300.
schema.ini ist:
Die CSV ist aus Excel erstellt und sieht so aus:
Fehlermeldung lautet, LHG12 ist keine Spalte. Wie gesagt, bis zu dieser Zeile funktioniert alles, die einzige Änderung in der CSV ist, das bis da hin alle anderen Werte der Spalte nur 5-stellige Zahle sind.
Hat jemand eine Lösung oder eine Idee, wo der Fehler ist.
Ich stehe vor einem kleinen Rätsel und hoffe, dass mir jemand mit einer Idee weiter helfen kann.
Ich erzeuge aus einer CSV eine DataTable und lese die in SQLite ein.
Funktioniert auch, bis Zeile 38.
Der Code
VB.NET-Quellcode
- Imports System.Data.SQLite
- Imports System.Data.OleDb
- Public Class Form4
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- ' If OpenFileDialog1.ShowDialog(Me) <> Windows.Forms.DialogResult.OK Then Return
- ' MessageBox.Show(OpenFileDialog1.FileName & "wird eingelesen")
- ' Dim folder = "C:\Users\Florian\TU Dresden\Hauptseminar\Wagenuebergaenge.csv"
- Dim CnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Florian\TU Dresden\Hauptseminar\; Extended Properties=""text;HDR=No;FMT=Delimited"";"
- Dim dt As New DataTable
- Using Adp As New OleDbDataAdapter("select * from [Ankunft.csv]", CnStr)
- Adp.Fill(dt)
- End Using
- DataGridView1.DataSource = dt
- Dim connect As New SQLite.SQLiteConnection()
- connect.ConnectionString = "Data Source=user.db;"
- connect.Open()
- Dim cmd = connect.CreateCommand
- cmd.CommandText = "DROP TABLE IF EXISTS Ankunft;"
- cmd.ExecuteNonQuery()
- cmd.CommandText = "CREATE TABLE Ankunft(
- id_1 TEXT,
- Zugnummer_An INTEGER
- );"
- cmd.ExecuteNonQuery()
- Dim ds As DataSet
- 'Dim dt = ds.Tables(0)
- For Each dr As DataRow In dt.Rows
- Dim id_1 = dr("id_1").ToString()
- Dim Zugnummer_An = dr("Zugnummer_An").ToString()
- 'Dim VTS = dr("VTS").ToString()
- cmd.CommandText = "INSERT INTO Ankunft (id_1, Zugnummer_An) values ('" & id_1 & "'," + Zugnummer_An & ")"
- cmd.ExecuteNonQuery()
- Next
- connect.Close()
- End Sub
- End Class
Die geplanten Schritte sind:
1. Ich gebe mit OpenFileDialog an, wo die CSV liegt (zur Zeit deaktiviert)
2. Es wird eine shema.ini erzeugt 8noch nicht umgesetzt)
3. Daten werden importiert
4. Daten werden in SQLite kopiert
Wie gesagt, geht bis zu Zeile 38 von rund 300.
schema.ini ist:
Die CSV ist aus Excel erstellt und sieht so aus:
Mo-53376 | 53376 |
Mo-LHG12 | LHG12 |
Fehlermeldung lautet, LHG12 ist keine Spalte. Wie gesagt, bis zu dieser Zeile funktioniert alles, die einzige Änderung in der CSV ist, das bis da hin alle anderen Werte der Spalte nur 5-stellige Zahle sind.
Hat jemand eine Lösung oder eine Idee, wo der Fehler ist.