Private Sub bnBug26950_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bnBug26950.Click On Error GoTo EH Dim strSQL As String Dim strConn As String Dim connection1 As ADODB.Connection Dim recset1 As ADODB.Recordset Dim fld As Field Dim fldName As String Dim lngType As Long 'Const adCmdText = &H1 connection1 = New ADODB.Connection recset1 = New ADODB.Recordset strSQL = "SELECT * FROM bug26950" strConn = "DRIVER={MySQL ODBC 3.51 Driver};" & _ "SERVER=localhost;DATABASE=test" & _ ";USER=root;PASSWORD=;OPTION=35;" ' strConn = "DRIVER={MySQL Connector/ODBC v5};" & _ '"SERVER=localhost;DATABASE=ado" & _ '";UID=root;PWD=mypass;OPTION=3;" ' open connection connection1.ConnectionString = strConn connection1.CursorLocation = CursorLocationEnum.adUseServer connection1.Open() connection1.Execute("USE test") connection1.Execute("DROP TABLE IF EXISTS bug26950;") connection1.Execute("CREATE TABLE bug26950 (C1 INT PRIMARY KEY, C2 TEXT, C3 INT);") connection1.Execute("INSERT INTO bug26950 VALUES (1, 'FOO', 55), (2, 'BAR', 66);") ' open recordset recset1.Open(strSQL, connection1, CursorTypeEnum.adOpenForwardOnly, _ LockTypeEnum.adLockOptimistic, 1) If Not recset1.EOF Then recset1.MoveFirst() End If If recset1.Supports(CursorOptionEnum.adUpdate) Then While Not recset1.EOF For Each fld In recset1.Fields lngType = CLng(fld.Type) fldName = fld.Name If lngType = 201 Then 'adLongVarChar Then fld.Value = "test" recset1.Update() End If If lngType = 3 And fldName <> "C1" Then 'adInteger fld.Value = 99 recset1.Update() ' <----- fails here! End If Next recset1.MoveNext() End While End If recset1.Close() recset1 = Nothing connection1.Close() connection1 = Nothing Exit Sub EH: MsgBox(Err.Number & ":" & Err.Description) MsgBox("failed on column " & fldName) End Sub