ich komme mit folgender Anforderung nicht (mehr) weiter :
1.) Ich habe eine Access-2007 Datenbank mit vielen Tabellen (und vielen Spalten)
2.) Diese möchte ich mit einem VB.NET Modul zunächst füllen
...aber :
Code:
Dim GDb As DataSet = DataSetFromAccess("Game", xmla_path) 'DataSetFromAccess Modul hier erst mal nicht relevant
Dim ObjectInfo As DataTable = GDb.Tables("tbl_savegame_objects")
Dim ObjectInfo_Row As DataRow = ObjectInfo.NewRow
Nun kommt die Schleife die jedesmal eine neue Zeile anlegen soll:
Während die Sub UpdateTbl wie folgt aufgebaut ist :
Code:
Public Shared Sub UpdateTbl(ByVal Tbl As DataTable, ByVal xmla_path As String)
Dim connectionString As String = ("Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & xmla_path & "\save.accdb")
Dim conn As New OleDbConnection(connectionString)
Try
conn.Open()
conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"})
Dim adp As New OleDbDataAdapter("SELECT * FROM " & Tbl.TableName, conn)
Dim b As New OleDbCommandBuilder(adp)
adp.Update(Tbl)
conn.Close()
Catch ex As Exception
Console.Write("Error in SavegameAnalyzer|TblUpdate: " + ex.Message)
End Try
End Sub
Nun erhalte ich andauern SQL-Error Meldungen, obwohl die zu schreibenden Werte im Debug-Modus ok aussehen, und sich sogar manuell in die Tabelle mit copy&paste übertragen lassen.
Meine Vermutung : UpdateTbl ist ein falscher Weg ... und führt zu einem zu langen SQL-Statement ....
Wäre schön wenn mir jemand helfen könnte. Ein großes "Game"-Projekt bleibt wegen diesem Fehler hängen *grmpf*
Meine Erfahrung mit VS2008 ist eher Anfänger ... bin guter VBA-Programmierer .. aber das hilft kaum.
Auch das Galileo-Buch VB 2008 hilft mir hierfür nicht weiter ...
Und wie so oft, finde ich im WWW (respektive Foren) nicht die passende Lösung für mein Problem.