Dataset in Access-Datenbank speichern

01/02/2008 - 20:48 von Skipper | Report spam
Hallo!

Ich möchte ein Dataset in einer Acces-Datenbank speichern.
Mein Code dazu:

Sub WriteDBTable(ByVal dsCSVData As DataSet)
Dim Conn As OdbcConnection
Dim DA As OdbcDataAdapter
Dim CB As OdbcCommandBuilder
Dim sSQL As String
Try
sSQL = "SELECT * FROM tblImportA0"
Conn = New OdbcConnection("Driver={Microsoft Access Driver (*.mdb)}; Dbq=" &
My.Settings.DBPath)
DA = New OdbcDataAdapter(sSQL, Conn)
CB = New OdbcCommandBuilder(DA)
Conn.Open()
DA.Update(dsCSVData, "tblImportA0")
Conn.Close()
Catch ex As Exception
'Error-Handler
MessageBox.Show(ex.Message, "FEHLER", MessageBoxButtons.OK,
MessageBoxIcon.Error)
End Try
End Sub
End Module

Leider ist die Ziel-Tabelle danach immernoch leer...
Weiß jemand eine Lösung?

Gruß
Tammo
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
01/02/2008 - 21:20 | Warnen spam
Hallo Noname,

"Skipper" schrieb:

Sub WriteDBTable(ByVal dsCSVData As DataSet)


...
DA = New OdbcDataAdapter(sSQL, Conn)


...
DA.Update(dsCSVData, "tblImportA0")



ich weiß ja nicht, ob du einen anderen OdbcDataAdapter meinst
als ich aber laut Doku kannst Du bei der Update Methode kein
DataSet übergeben.

http://technet.microsoft.com/de-de/...ataadapter(VS.80).aspx

BTW: Warum nimmst Du eigentlich Odbc und nicht OleDb?

Wo kommen die Daten denn her? Aus einer CSV Datei? Dann wàre
es (wenn die CSV Datei auf dem gleichen Rechner wie die MDB
liegt) möglich, den Import über ein SQL Statement durchzuführen.

OleDbConnection auf die Access Datenbank erstellen und dann ein
SQL Statement in der Art wie folgt absetzen:

INSERT INTO <Tabelle> SELECT * FROM [import.csv] IN "X:\Ordner\" "TEXT;"

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen