Я пытаюсь удалить все записи из таблицы SQL в VB.net. Мой код делает это:Удаление элементов из таблицы sql в 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)
Mtable и Itables являются таблицы SQL, в то время как MtableTA и ItableTA являются настольные адаптеры.
я в конечном итоге получаю сообщение об ошибке, которое гласит
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.
раздел, где это occurss не предусмотрено в коде выше, но это вызов MtableTA.update (SQLDataSet). Любая помощь будет очень высоко ценится. Я также использую OLEDB, если это помогает.
базы данных Вы, вероятно, нужно использовать 'ExecuteNonQuery()' вместо 'Update' поскольку вы не обновляете, а удаляете. –
FYI MySQL не является доступом – Plutonix
Не уверен в MySQL, но Truncate Table - лучший вариант для SQL Server. Уничтожьте все адаптеры таблицы перед усечением и воссоздайте позже. – rheitzman