[Gambas-user] Before Delete Event
T Lee Davidson
t.lee.davidson at ...626...
Wed Dec 31 07:03:41 CET 2014
On 12/30/2014 11:50 PM, Christian e Ana Luiza Britto wrote:
> Hi Folks,
> First I would like to wish to you all a Happy New Year!
> After that, I would like to know how to use the DataSource Before
> Delete event to verify if a record can be deleted or not. If not the
> record cannot be deleted the program must keep the record intact.
> Best Regards,
> Christian
Greetings Christian,
Normally you should not need to test if a record can be deleted or not. DataSource.Remove will handle that automatically and report a success or
failure. If the record could not be deleted, it would, of course, still remain intact. So, I am not really sure what you are asking for.
Now there may be application-specific circumstances where certain records may need to be protected. In that case, the question to ask would be,
"What, in *your* application determines whether or not a record can be deleted?"
Working with a slightly modified version of the Database Sample, I've added the BeforeDelete event subroutine and an application-specific test
subroutine.
Public Sub DataSource1_BeforeDelete(Keys As Variant[])
If RecordProtected(Keys[0]) Then
Stop Event
Endif
End
Public Sub RecordProtected(Key As Variant) As Boolean
Dim rRecordSet As Result
rRecordSet = DataSource1.Connection.Exec("select `firstname` from `test` where `id`=" & Key)
If rRecordSet["firstname"] = "Pierre" Then 'Do not delete any of Pierre's records
Print "Pierre's records are protected!"
Return True
Endif
Return False
End
HTH,
Lee
__________
"Artificial Intelligence is no match for natural stupidity."
More information about the User
mailing list