Я только что сделал учебник об удалении данных из datagridview
с флажком и все замечательно, кроме я получаю эту ошибкуКритерии выражение ошибки
Несоответствие типов данных является выражение критерия
It ничего не удаляет это подчеркивает result = cmd.ExecuteNonQuery
линию и говорит
необработанное исключение типа «System.Data.OleDb.OleDbExcep ' произошел в System.Data.dll Дополнительная информация: Несоответствие типа данных в выражении критериев.
Вот код.
Private Sub btnDeleteAll_Click(sender As Object, e As EventArgs) Handles btnDeleteAll.Click
Try
con.Open()
For Each row As DataGridViewRow In DataGridView1.Rows
If row.Cells(0).FormattedValue = True Then
sql = "DELETE FROM tT WHERE ID = '" _
& CStr(row.Cells(1).FormattedValue) & "'"
With cmd
.Connection = con
.CommandText = sql
End With
result = cmd.ExecuteNonQuery
End If
Next
If result = 0 Then
MsgBox("nope")
Else
MsgBox("deleted.")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
con.Close()
End Sub
Ошибка в запросе затем Sql. I asasume 'ID' columne - это тип Int, но вы пытаетесь присвоить строковое значение. Код отладки и посмотреть значение переменной 'sql' перед выполнением запроса. – Fabio
Используйте sql-параметры с типом 'int'. –
@wwrwer .. Не меняйте свой вопрос с ** «Вопрос решен» ** .. вы можете добавить его в комментарий ... :) – matzone