There are two versions of my application. First runs on a local server and the second version runs on a client machine.

The application on the local server performs that following tasks

1. Pulls data from an online Mysql database and stores it in a DataSet
2. Makes changes in the DataSet and updates it back in the online database

I need to access the data (i.e the DataSet) on the client machine, so that the client can also Add, Edit and Delete records. Is there any way i can achieve this?

You should be able to simply update the connection to refer to your MySQL server from a remote location and not on the localhost; you just need to make sure your MySQL server is accessible over the internet. Part of the connection should specify where the mySQL server is located.

Thanks timothybard for your reply,
MySQL server is accessible over the internet. If you are saying that both computers should connect to MySQL and have their own copy of data from the database, how will the records be synchronized between them?

I think keeping things synchronized would simply be a matter of refreshing the data at short intervals.

The only issue would be if you are trying to edit the same record at the same time. For that, I would recommend having the program check to make sure noone else has edited the record before trying to make changes to it.

Can anyone else shed more light on the subject?