Ich versuche, alle Datensätze aus einer SQL-Tabelle in VB.net zu entfernen. Mein Code dafür ist:Löschen von Elementen aus SQL-Tabelle in VB.net
Dim SQL As String = "DELETE FROM MTable"
Using CN As New OleDb.OleDbConnection(AddPage.DBConnect)
CN.Open()
Dim DBcmd As New OleDb.OleDbCommand(SQL, CN)
DBcmd.ExecuteNonQuery()
CN.Close()
End Using
'SQLDataset.Tables("Mtable").Clear()
MtableTA.Update(SQLDataset)
SQL = "DELETE FROM ITable"
Using CN As New OleDb.OleDbConnection(AddPage.DBConnect)
CN.Open()
Dim DBcmd As New OleDb.OleDbCommand(SQL, CN)
DBcmd.ExecuteNonQuery()
CN.Close()
End Using
' SQLDataset.Tables("ITable").Clear()
ITableTA.Update(SQLDataset)
Die Mtable und Itables sind die SQL-Tabellen, während MtableTA und ItableTA sind Tischadapter.
ich am Ende auch einen Fehler bekommen, die
An unhandled exception of type 'System.Data.DBConcurrencyException' occurred in System.Data.dll
Additional information: Concurrency violation: the UpdateCommand affected 0 of the expected 1 records.
Der Abschnitt heißt es, wo diese occurss nicht oben im Code zur Verfügung gestellt, sondern ist ein Aufruf an MtableTA.update (SQLDataset). Jede Hilfe würde sehr geschätzt werden. Ich verwende auch OLEDB, wenn das hilft.
Sie wahrscheinlich 'ExecuteNonQuery verwenden müssen, synchronisieren()' statt 'Update' da Sie nicht aktualisieren, sondern löschen. –
FYI MySQL ist nicht Zugriff – Plutonix
Nicht sicher über MySQL, aber Abschneiden Tabelle ist eine bessere Option für SQL Server. Zerstören Sie alle Tabellenadapter, bevor Sie sie abschneiden und später neu erstellen. – rheitzman