Option Explicit
Const DSN = "Driver={MySQL ODBC 3.51 Driver};Uid=root;Pwd=;Server=localhost;Database=test;OPTION=1 + 2 + 8 + 32 + 16384 + 8388608"
'Const DSN = "Driver={MySQL connector/ODBC v5};Uid=root;Pwd=;Server=localhost;Database=test;OPTION=1 + 2 + 32"

Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
Const adOpenUnspecified = -1

Const adUseNone = 1
Const adUseServer = 2
Const adUseClient = 3

Const adLockReadOnly = 1
Const adLockPessimistic = 2
Const adLockOptimistic = 3

'---- ParameterDirectionEnum Values ----
Const adParamUnknown = &H0000
Const adParamInput = &H0001
Const adParamOutput = &H0002
Const adParamInputOutput = &H0003
Const adParamReturnValue = &H0004

'---- CommandTypeEnum Values ----
Const adCmdUnknown = &H0008
Const adCmdText = &H0001
Const adCmdTable = &H0002
Const adCmdStoredProc = &H0004
Const adCmdFile = &H0100
Const adCmdTableDirect = &H0200

Const adInteger=3
Const adDate=7
Const adVarChar=200


Dim cnxDatabase
Dim strSQL
'Dim fieldsArray(1) As Variant
'Dim values(1) As Variant

' connecting database
Set cnxDatabase = CreateObject("ADODB.Connection")
cnxDatabase.Open(DSN)

cnxDatabase.Execute "drop table if exists bug29659"
cnxDatabase.Execute "create table bug29659(x int unsigned not null auto_increment primary key, VCField VARCHAR(30) DEFAULT NULL)"


' querying data
strSQL = "SELECT * FROM bug29659"

Dim rs
Set rs = CreateObject("ADODB.Recordset")
With rs
    .ActiveConnection = cnxDatabase
    .LockType = adLockOptimistic '3
    .CursorType = 2 'adOpenStatic 3, adOpenKeyset   1, 2 adOpenDynamic
    .CursorLocation = 3 '3 adUseClient '1 adUseServer
    .Open(strSQL)
End With
rs.AddNew
rs("x") = 0
rs("VCField") = "Test"
rs.Update

rs("VCField") = NULL
rs.Update

rs.Close
WScript.Echo ("Done")

cnxDatabase.Execute "drop table if exists bug29659"

Set rs = Nothing
Set cnxDatabase = Nothing