| |

ADO.NET / DatenbankenOleDbConnection, Fehler Update (bei Relation) | |  | Autor: dh | Datum: 20.02.08 09:17 |
| Hallo,
ich habe eine Acces-DB und darin zwei Tabellen konstruiert. Die verbinde ich, wie unten zu sehen, mit einer Relation. Die erste Tabelle zeige ich mittels gebundenen Textboxen an, die zweite in einem DGV. Änderungen sollen nur im DGV zu machen sein.
Hier mal der Code-Auszug:Public cb1 As OleDbCommandBuilder = Nothing
Public cb2 As OleDbCommandBuilder = Nothing
...
selStr1="SELECT * FROM " + tableName1
selStr2="SELECT * FROM " + tableName2
...
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
+ " Data Source=" + dataBankPfad + DatabankName + ";"
...
connect = New OleDbConnection(connectionString)
...
da1 = New OleDbDataAdapter(selStr1, connect)
da2 = New OleDbDataAdapter(selStr2, connect)
cb1 = New OleDbCommandBuilder(da1)
cb2 = New OleDbCommandBuilder(da2)
da1.MissingSchemaAction = MissingSchemaAction.AddWithKey
da2.MissingSchemaAction = MissingSchemaAction.AddWithKey
ds = New DataSet()
connect.Open()
da1.Fill(ds, tableName1)
da2.Fill(ds, tableName2)
connect.Close()
ds.Relations.Add("Verbindung", .Tables(tableName2).Columns("ID2"), _
.Tables(tableName1).Columns("ID1"))
BindingSource1.DataSource = ds
BindingSource1.DataMember = ds.Tables(tableName1).TableName
BindingSource2.DataSource = BindingSource1
BindingSource2.DataMember = "Verbindung" 'die Relation benutzen
...
da2.Update(ds, tableName2) (Die BindingSources sind als Controls im entsprechenden Formular)
Ich habe nun einen Button für das Speichern, der das Updaten auslösen soll (also den letzten Befehl in obigem Code).
Da bekomme ich aber immer die Fehlermeldung:
Syntaxfehler in UPDATE-Anweisung.
bei System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
bei System.Data.Common.DbDataAdapter.UpdatedRowStatus(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
bei System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)
bei System.Data.Common.DbDataAdapter.UpdateFromDataTable(DataTable dataTable, DataTableMapping tableMapping)
bei System.Data.Common.DbDataAdapter.Update(DataSet dataSet, String srcTable)
Das Update wird also nicht ausgeführt.
Wie muss man das verändern, damit nur die Daten der untergeordneten Tabelle gespeichert werden?
Grüße-
Salzburger |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Neu! sevPopUp 2.0 
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|