A little sample just for understanding
Into my object RecordSet... in this construction, I use the boolean type in :append( "Active", adBoolean,, adFldUpdatable )... but, when the recordset is filled by any query into MySQL, the boolean field is interpreted like adTinyInt and this return 0 or 1 (not .T. or .F.)
WITH OBJECT oRecordSet
:fields:append( "Code", adInteger, 5, adFldUpdatable )
:fields:append( "name", adVarChar, 30, adFldUpdatable )
:fields:append( "Active", adBoolean,, adFldUpdatable )
:fields:append( "Reg Date", adDate,, adFldUpdatable )
TRY
:open()
:addNew()
:fields( "Code" ):value := 1
:fields( "name" ):value := "JĂLIO CĂSAR M. FERREIRA"
:fields( "Active" ):value := .T.
:fields( "Reg Date" ):value := date()
:addNew()
:fields( "Code" ):value := 2
:fields( "name" ):value := "NEW USER FOR TESTS"
:fields( "Active" ):value := .F.
:fields( "Reg Date" ):value := date()
:addNew()
:fields( "Code" ):value := 3
:fields( "name" ):value := "ANOTHER NEW USER FOR TESTS"
:fields( "Active" ):value := .F.
:fields( "Reg Date" ):value := date()
:addNew()
:fields( "Code" ):value := 4
:fields( "name" ):value := "MORE ONE USER"
:fields( "Active" ):value := .T.
:fields( "Reg Date" ):value := date()
:moveFirst()
END
Into my object xBrowse
WITH OBJECT oBrw
:bClrRowFocus := {|| { CLR_BLACK, nrgb( 228, 232, 224 ) } }
:bClrSel := {|| { , nrgb( 228, 232, 224 ) } }
:nMarqueeStyle := 4
:nRowDividerStyle := 4
:nColDividerStyle := 4
:lColDividerComplete := .F.
:nStretchCol := STRETCHCOL_WIDEST
:createFromCode()
//:bLDblClick( {|| oRecordSet:fields( "Active" ):value := !oRecordSet:fields( "Active" ):value, oBrw:refresh() } )
WITH OBJECT :aCols[3]
:setCheck( { "GREEN", "RED" }, {|| msgInfo( oRecordSet:fields( "Active" ):value ) } )
:setCheck( { "GREEN", "RED" }, {|o, v| ( oRecordSet:fields( "Active" ):value := v, msgInfo( oRecordSet:fields( "Active" ):value ) ) } )
:bStrData := {|| If( oRecordSet:fields( "Active" ):value, "Yes", "No" ) }
:nDataStrAlign := AL_RIGHT
END
END