Database in Delphi

Hi friends, If I want to write a program with a database that works Desktop (not Client/server) and need a simple database, wich database do you sugguest me? (MS Access/ Paradox/ DB2)
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

my recommendations:

access (is up to date)
paradox (comes with delphi, but is outdated)
firebird(interbase) (local server) (real sql server)

there are also some properitary thirdparty databases

meikl ;-)

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial

If you want simple and cheap try Easy Table from this is a cool product.

If you want something really excellent then I recommend DBISAM from

Access is a great database but difficult to deploy (people are going to jump all over me for saying this - but with 10 years of commercial experience with VB and Access - I speak from experience).

Paradox is a clunker and difficult to deploy.

Firebird is a complex product and difficult to deploy.

DBISAM is my choice although it is not cheap it is well worth the money - a simply superb product which is an absolutle joy to use.

Just my own opinions - good luck

Wim ten BrinkSelf-employed developerCommented:
Not an easy one but FlashFiler is open-source, free and fully implemented in Delphi. See
However, FlashFiler isn't easy to use. But it's biggest advantage is that you can keep everything contained in one single executable without any dependencies of any database drivers or whatever more. (It also works great for network solutions but that's not one of your problems.)

When deciding which database to use, you have to consider how you're going to access the database. The BDE is an ancient dinosaur, which was great in it's time but now we're waiting for it to turn into oil. So if you won't be using the BDE, Paradox and DBase will be no option anymore.
You could use ADO, which allows you to connect to SQL Server (expensive) or Access. While Voodooman complains about the difficulty of deploying applications that use ADO, I think it's just more a matter of personal experience. All you need to make sure is that MDAC is installed on the clients system with proper ADO support and then all you need is install the database and application and make sure you're using the correct connection string to connect to the database. I've used Access for my own website for all kinds of things and this webserver won't allow me to run installation programs. Yet deploying my Access webapplications to it is just a piece of cake, since it does support ADO.
The third option is just using native database components and if you choose for this, there will be a large amount of options available for you. Interbase and it's free version Firebird would be a good choice in that case, although MySQL is a good option too.

In the past, Paradox was my favorite choice but the BDE is giving me too much pains lately. ADO with Access makes development for my website a lot easier. And for local applications I either use FlashFiler or Interbase. FlashFiler for simple projects and Interbase for projects that require a large amount of data to be stored.

However, in some situations I haven't even bothered by using a database but just stored data in an XML file. A single XML file could have many layers inside and if you're experienced enough, you could use transformations to extract specific data and schema's to just validate the contents. It's not useful for half a million of records but if the amount of records of all tables is less than 5000 or so records then XML is a good alternative. Even funnier, I've used XML combined with transformations so I can open the XML file in a webbrowser and the webbrowser will show me a nice overview in tables, with summaries, clear headers and whatever more.
Cloud Class® Course: Microsoft Windows 7 Basic

This introductory course to Windows 7 environment will teach you about working with the Windows operating system. You will learn about basic functions including start menu; the desktop; managing files, folders, and libraries.

Firebird embedded, difficult to deploy? The embedded server is very simple
to deploy on a desktop app. Of course, it's like killing flies with a atomic bomb.


When you kill the flies with the A-bomb can I watch?

Some people have such exciting jobs....


Firebird embedded is quite easy to deploy to a stand-alone,
desktop user. If the needs are very simple, it's really overkill but
you gain later: if the company central db is firebird, going
from desktop app to C/S will be much simpler... Just a case
of changing connection strings.

I prefer kill them with Rodasol(spray)... ;-)
But I'll call if I use the A-Bomb ;-)
Since most people gave him answers that
respond to his necessity.... There is a lot
of correct answers. What is THE answer, well,
I don't know.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.