Hallo,
ich versuche gerade meine DataTable zurück in die Datenbank zu schreiben.
Leider bekomme ich beim Update die Fehlermeldung "Syntaxfehler in Insert Into Anweisung"
Mein Code:
Dim daadapter As OleDbDataAdapter = New OleDbDataAdapter("Select * FROM Daten", con)
Dim cb As OleDbCommandBuilder = New OleDbCommandBuilder(daadapter)
daadapter.Update(dt1)
Wie kann ich mir die Insert into anweisung anzeigen lassen um vielleicht zu sehen wo der Fehler ist?
DbDataAdapter.InsertCommand.CommandText oder DbCommandBuilder.GetInsertCommand.CommandText
Jürgen
Bei dem Sql-Select kann diese Meldung nur bedeuten, das Du ein reserviertes Wort
als Spaltenname benutzt hast.
Ja stimmt. Da ist ein reserviertes Wort und zwar heißt eine Spalte As in der Datenbanktabelle
Bis jetzt hat das funktioniert da ich immer alles per Hand ausgelesen und reingeschrieben habe und das "As" dann in Anführungszeichen geschrieben haben
Kann mir einer sagen was ich jetzt machen kann? Muss ich die Spalte in der Datenbank umbennen (das wäre sehr blöd)
Ja stimmt. Da ist ein reserviertes Wort ... Kann mir einer sagen was ich jetzt machen kann? Muss ich die Spalte in der Datenbank umbennen (das wäre sehr blöd)
Per Forumssuche spaltennamen reservier* finde ich in der ersten Diskussion:
Packt man diese Spaltennamen in [ ] passts.
Jürgen
Ja aber den Insert String baue ich doch garnicht selbst zusammen. Das macht ja der CommandBuilder alleine. Also kann ich ja im Insert-String auch nichts in [] packen.
Verstehe ich jetzt was falsch?
Oder muss ich in der DataTable den Spaltennamen in [] packen?
Schau mal im CommandBuilder alle Properties durch, da werden Dir bestimmt 2 zu
auffallen, die dir helfen können.
Welche Eigenschaft meinst du? Habe mir jetzt alle durchgelesen und mir ist keine aufgefallen.
Vielleicht bin ich auch nur zu müde.....
Kannst du mir die Eigenschaft nennen?
gefunden...
QuoatePrefix oder?
Mache jetzt Schluss und werde morgen testen.
Gibt es noch was anderes als Quoate Prefix?
Gibt es noch was anderes als Quoate Prefix?
Du musst in der Tat schon sehr müde gewesen sein. Die Eigenschaft heißt **QuotePrefix **und wird direkt gefolgt von QuoteSuffix. Jürgen
PS. So kann es mit der MS-Übersetzung gehen. Der erläuterende Text spricht bei beiden Eigenschaften von den Anfangszeichen. Erst die näheren Hinweise (und meine Kenntnisse über Fremdwörter) machen deutlich, dass QuotePrefix für Anfangszeichen und QuoteSuffix für Schlusszeichen zuständig ist.