Hi Terki,
I tried your suggestion... In fact I have created 3 save (test)buttons:
METHOD pbn_Save1( ) CLASS dlw_Gebruiker
LOCAL oAdoRecSet AS AdoRecordSet
LOCAL cStatement AS STRING
cStatement := "INSERT INTO SYS_USERS ( "
cStatement := cStatement + "Account, "
cStatement := cStatement + "FirstName, "
cStatement := cStatement + "LastName, "
cStatement := cStatement + "Password, "
cStatement := cStatement + "Level, "
cStatement := cStatement + "ExpireDate ) VALUES ( "
cStatement := cStatement + "'" + AllTrim( oDCsle_Account:VALUE ) + "', "
cStatement := cStatement + "'" + AllTrim( oDCsle_FirstName:VALUE ) + "', "
cStatement := cStatement + "'" + AllTrim( oDCsle_LastName:VALUE ) + "', "
cStatement := cStatement + "'" + AllTrim( oDCsle_Password:VALUE ) + "', "
cStatement := cStatement + AllTrim( Str( oDCcbx_Level:VALUE ) ) + ", "
cStatement := cStatement + "'" + DToS( CToD( oDCdtp_ExpiredDate:VALUE ) ) + "' )"
oAdoRecSet := AdoRecordset{}
oAdoRecSet:Open( cStatement, gloServer, adOpenForwardOnly, adLockOptimistic, adCmdText )
RETURN NIL
METHOD pbn_Save2( ) CLASS dlw_Gebruiker
LOCAL oUsers AS AdoServer
oUsers := AdoServer{ 'SYS_USERS', gloServer, adOpenForwardOnly, adLockOptimistic, adCmdTable }
oUsers:Append()
oUsers:FIELDPUT( 'Account', AllTrim( oDCsle_Account:VALUE ) )
oUsers:FIELDPUT( 'FirstName', AllTrim( oDCsle_FirstName:VALUE ) )
oUsers:FIELDPUT( 'LastName', AllTrim( oDCsle_LastName:VALUE ) )
oUsers:FIELDPUT( 'Password', AllTrim( oDCsle_Password:VALUE ) )
oUsers:FIELDPUT( 'Level', oDCcbx_Level:VALUE )
oUsers:FIELDPUT( 'ExpireDate', DToS( CToD( oDCdtp_ExpiredDate:VALUE ) ) )
oUsers:Commit()
oUsers:Close()
RETURN NIL
METHOD pbn_Save3( ) CLASS dlw_Gebruiker
LOCAL oAdoCommand AS AdoCommand
LOCAL cStatement AS STRING
cStatement := "INSERT INTO SYS_USERS ( "
cStatement := cStatement + "Account, "
cStatement := cStatement + "FirstName, "
cStatement := cStatement + "LastName, "
cStatement := cStatement + "Password, "
cStatement := cStatement + "Level, "
cStatement := cStatement + "ExpireDate ) VALUES ( "
cStatement := cStatement + "'" + AllTrim( oDCsle_Account:VALUE ) + "', "
cStatement := cStatement + "'" + AllTrim( oDCsle_FirstName:VALUE ) + "', "
cStatement := cStatement + "'" + AllTrim( oDCsle_LastName:VALUE ) + "', "
cStatement := cStatement + "'" + AllTrim( oDCsle_Password:VALUE ) + "', "
cStatement := cStatement + AllTrim( Str( oDCcbx_Level:VALUE ) ) + ", "
cStatement := cStatement + "'" + DToS( CToD( oDCdtp_ExpiredDate:VALUE ) ) + "' )"
oAdoCommand := AdoCommand{}
oAdoCommand:ActiveConnection := gloServer
oAdoCommand:CommandType := adCmdText
oAdoCommand:CommandText := cStatement
* gloServer:BeginTrans()
oAdoCommand:Execute( NIL, NIL ,NIL )
* gloServer:CommitTrans()
RETURN NIL
All buttons write a row to the table. I think I will go for the pbn_Save2() way: less typing and more readable :)
As all buttons work like it supposed... I was thinking it is something else, so I debug all routines and found a wrong IF switch what recreated the SYS_Users tabel... Oeps, silly me.
Kind regards,
Frans