Dobrý den, převádím txt soubor do databáze v Accesu a část do Excelu. Vše proběhne vpořádku. DataSet naplním ale při da.update to vyplivne chybu zápisu: Syntaktická chyba v příkazu INSERT INTO. Je to moje první práce s databázi ve VB. Jsem v koncích a vůbec nevím co je špatně. Prosím zkušenější a znalé o pomoc. Děkuji moc. Access i jeho engine mám nainstalován. Pokud použiji DataGridView, nemám s ukládáním problém. Musím to ale plnit z txt, jedná se o tisíce řádků...
' ---------------Spojení databáze -------------------
Dim con As New OleDbConnection
Dim dbProvider As String
Dim dbSource As String
Dim ds As New DataSet
Dim da As OleDb.OleDbDataAdapter
dbProvider = "Provider=Microsoft.ACE.OLEDB.12.0;"
dbSource = "Data Source = C:\DataDatalog\MDB\DatalogDBF.accdb"
con.ConnectionString = dbProvider & dbSource
con.Open()
da = New OleDb.OleDbDataAdapter("SELECT * FROM int_kwr", con)
'natáhnu z databáze schéma včetně primárního klíče
da.MissingSchemaAction = MissingSchemaAction.AddWithKey
da.Fill(ds, "dsTab")
con.Close()
' MsgBox("uzavření databáze")
Dim cb As New OleDb.OleDbCommandBuilder(da)
Dim dsNewRow As DataRow
While Not r2.EndOfStream ' ukládání dat z txt do DataSetu
radek = r2.ReadLine()
poleřádku = radek.Split(";")
'vytvoř nový řádek do datasetu
dsNewRow = ds.Tables("dsTAB").NewRow()
'naplním dsNewRow
dsNewRow.Item("Anlage") = anlageStr
dsNewRow.Item("Datum") = DenStahovaniStr
dsNewRow.Item("Cas") = poleřádku(0)
dsNewRow.Item("Interval-s") = poleřádku(1)
dsNewRow.Item("Adresse") = poleřádku(2)
dsNewRow.Item("KPC") = poleřádku(3)
'přidám řádek do datasetu
ds.Tables("dsTab").Rows.Add(dsNewRow)
End While
' zápis do databáze
Try
da.Update(ds, "dsTab")
Catch ex As Exception
MsgBox("chyba zápisu databáze : " & ex.Message)
End Try
|