|
| |

ADO.NET / Datenbanken| OleDbConnection, 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 |
  |
|
TOP! Unser Nr. 1 
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere InfosTipp des Monats TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere 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
|
|