All data for my company is stored on an internet web server, hosted by discountasp.net, and a web service is used for both Windows and web clients to retreive and modify it. I'm using a Microsoft Access .mdb file. A local server is not used because, although only a small business, not all employees work from a single location (some in London, others in Delhi, etc.). The trouble is that it's not particularly easy to work with the data in 'real-time'. Since several people may be modifying the same tables at once and the latest version of everything is always required, all SELECT, UPDATE, INSERT and DELETE commands are directed at the online database, through the web service. Everything works, but it's quite slow, and the constant transmission of information (even whole tables, sometimes) is eating up bandwidth
I considered using an offline database for all local operations, which can be synchronised when required, but have no idea how to do this. I'm really only a beginner, and the only thing I can think to do would be to send the whole offline database in a dataset with an UPDATE command. But that's still killing my bandwidth, isn't it
Anyway, how do updates work (I'm using C# with the .NET framework 1.1). If I update a database with a modified DataSet
does the new dataset completely replace the old data? Because that would be useless. If other users had made other changes to the tables before the synchronisation, would they be erased when I synchronise
Basically, does anyone have any ideas how I can resolve this situation (please don't say buy more bandwidth!)?