    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