csharp windows app and local database

  • Thread starter Thread starter DKode
  • Start date Start date
D

DKode

I will be making a windows app that will run on user's local machines.
It will not be in a networked environment or anything like that which
rules out SQL Server for the database. I am trying to come up with the
best method to store data on the local user machine.

I was thinking of using XML files, but I am concerned about how
quickly the xml files will grow and should I have a seperate XML file
for each table?

Here's a run down of what this program will do :

Users will put a CD in their cd-rom drive, the app will read all the
folder/filenames off the cd and allow them to attach additional
keywords to each folder/filename, then they will give each CD a unique
name and label the CD with this name. Then when they want to search
for a program they will run the app and search for keywords and the
app will tell them which cd to look on.

Hope this is descriptive enough. I was thinking of using MSDE, but
this would require it be running on the user's machine at all times
which I don't like the idea of. That's why I came up with the solution
of XML files but the XML filesize can quickly grow... 100 files per cd
times about 200 cd's average, that's 20,000 records right there, not
too mention the extra keywords for each record that might be added.
Maybe a flatfile would work better?

Any advice/pointers would be appreciated.

Thank you!
 
Hello

You can use Access or sqlite, or any file base database engine.

sqlite is available at http://www.sqlite.com
and the ADO.NET provider for sqlite is available at
http://sourceforge.net/projects/adodotnetsqlite/
sqlite is open source and cross-platform. It can run on linux, windows, etc.
So in case you would like to migrate your application one day to other
operating systems, you should use a portable format for database.

Access wil do the job perfectly too, and the .NET framework supports it
without downloading any libraries.

Best regards,
Sherif
 
Thanks!

I have used access in the past before with some of my csharp
applications at a telemarketing firm and found it very easy to connect
to the db in a sql server type manner etc... I figured there would be
some new web service/xml cool method of going about doing this, but I
guess that stuff only applies to online applications/ applications
connected via a network...not stand alone apps. am i correct on this?
 
Hello

Yes, web services are not usefull in stand alone applications (if you use
them, the application will no longer be stand alone).
As for storing data as xml file, you will lose many features that database
engines provide, such as indexes, inner joins, a strong query parsing
engine, etc.

So I suggest use access, sqlite, MSDE ( as the other posters suggested) or
any other database engines. Of course MSDE is the much more powerfull than
access and sqlite. But will take more memory.



Best regards,
Sherif
 
Back
Top