Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 2 of 2 total
Thread Data exchange between DBISAM and MySQL
Sat, Feb 25 2006 5:09 AMPermanent Link

Peter van Mierlo
Hi,

Within my apps my customer would like to have a connector between my dbisam and his mysql database.
No problem...i thought...well...The good thing in dbisam is you can do nice things with OnEditError, OnPostError
with the error-codes, see below:

  if (E is EDBISAMEngineError) then begin
     if (EDBISAMEngineError(E).ErrorCode=DBISAM_RECLOCKFAILED) then begin
        Application.MessageBox('Record is in use, you can't change record.', 'Warning', MB_OK+MB_ICONEXCLAMATION+MB_DEFBUTTON1+MB_APPLMODAL);
        Action:=daAbort;
     end;
  end;

MySql is new form me...so i thought what can be done in dbisam can also be done in mysql...well not quit.
Now i know both database are to total different. But how can i do the things in mysql the way i did in
dbisam...because i like what i got in dbisam.

How can i detect if the record i need to edit in mysql is in use by a other user, otherwise i'm going to
upload data from dbisam -> mysql while the record is in use.

I hope someone can point me into the right direction...

Greetings
Peter



Sat, Feb 25 2006 9:31 AMPermanent Link

Jon Lloyd Duerdoth
Peter,

This doesn't really answer your question but I thought I would
mention that I'm using a component from
     http://www.scibit.com/
to connect to mySQL.

mySQL does have a locking mechanism but the ability to
lock individual records seems to depend upon explicitly
setting a lock that is recognized by all other users.
It seems to work OK but is not nearly as convenient as DBISAM.

Basically you test the lock BEFORE you enter edit.
When you enter edit you set a lock.

Jon

Peter van Mierlo wrote:
> Hi,
>
> Within my apps my customer would like to have a connector between my dbisam and his mysql database.
> No problem...i thought...well...The good thing in dbisam is you can do nice things with OnEditError, OnPostError
> with the error-codes, see below:
>
>    if (E is EDBISAMEngineError) then begin
>       if (EDBISAMEngineError(E).ErrorCode=DBISAM_RECLOCKFAILED) then begin
>          Application.MessageBox('Record is in use, you can't change record.', 'Warning', MB_OK+MB_ICONEXCLAMATION+MB_DEFBUTTON1+MB_APPLMODAL);
>          Action:=daAbort;
>       end;
>    end;
>
> MySql is new form me...so i thought what can be done in dbisam can also be done in mysql...well not quit.
> Now i know both database are to total different. But how can i do the things in mysql the way i did in
> dbisam...because i like what i got in dbisam.
>
> How can i detect if the record i need to edit in mysql is in use by a other user, otherwise i'm going to
> upload data from dbisam -> mysql while the record is in use.
>
> I hope someone can point me into the right direction...
>
> Greetings
> Peter
>
>
>  
>
Image