[EMAIL PROTECTED] wrote:

> [EMAIL PROTECTED] wrote:
> > Hi,
> > I would like a bit of advice before starting to make changes to my
> > application.
> > 
> > I've written a program in C# for personnel departments and at present all
of
> > the data is stored in memory until the user saves and then it is written
to
> > disk as an XML file.
> > 
> > I'd like to switch to an embedded SQLite database where the database
becomes
> > the file format for the application. I plan to use the ADO.Net wrapper for
> > SQLite.
> > 
> > Can anybody tell me if the following is a reasonable design for
implementing
> > this-
> > 
> > Upon loading a saved file into the application the database on filesystem
is
> > loaded into an ADO.Net DataSet. This is used by the application until the
> user
> > saves to disk again when all of the changes to the DataSet are saved back
to
> > the database on disk.
> > 
> 
> In all of the desktop apps that I write, I omit the File->Save
> option altogether.  File->Open opens the SQLite database and
> there after all changes are saved to the disk as they are made.
> 
> I find this works much better since you avoid losing all your
> work when the power goes off unexpectedly - or when you power
> down at the end of the day and forget to close out the file
> you were working on.  Would that OpenOffice did the same...
> 
> Another advange is that if you open the same file twice in two
> separate windows, the second one opened still sees all the
> latest changes.  And you cannot trash work by doing File->Save
> in the wrong order.
> 
> When your changes are saved to disk immediately, it is important
> to have a good undo/redo mechanism.  There is some example code
> on the wiki showing how to implement undo/redo using triggers.
> 
> --
> D. Richard Hipp  <[EMAIL PROTECTED]>
> 


Thanks for the speedy reply. It seems like a good way of doing things and will
certainly make it a lot simpler to implement which I'm all in favour of.
Cheers,
Jon Leadbeater



-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to