Looking for a good database component

As the title suggest I am in looking for a database component for D6 Personal Ed that has the following capabilities.

1. Will work in D6 Personal Edition.

2. Free or Shareware version.

3. Supports multiple users with diff access rights.

4. Compiles into the exe (ie all-in-one client/server/DB)

5. Has at the very least the following DB funcitons (create, edit , query, insert , delete , move , .... tables)

6. Backup/Restore Support

7. Secure

I am sure that most of the DB products out there will have no problem meeting needs 2-7 but have yet to find one that will work in the personal editon of delphi so thats why it's my #1 requirement.

Anyway TIA,

Who is Participating?
Ivanov_GConnect With a Mentor Commented:
Try with ZeosLib it is free and have

some text from: http://sourceforge.net/projects/zeoslib/

The main ZeosLib product is a set of native datasets and database components for MySQL, PostgreSQL, Interbase, Firebird, MS SQL, Sybase, Oracle, DB/2 for Borland compilers such as Delphi, C++ Builder and Kylix.

it will work with the Personal Edition of Delphi you have...
kretzschmarConnect With a Mentor Commented:
most of your points depends on the database you want to use

which database will u use?
calinutzConnect With a Mentor Commented:
What do you need this database component for? For which database? You mean you need a BDE substitute? That woulkd work under personal edition? This is a tough one. I never tryed the personal edition. If you try to install normal components does it work? Database components usually are built for connecting to specific database.

As for a BDE substitute try this:
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

VoodoomanConnect With a Mentor Commented:

I might be wrong here but here goes...

You cannot add database support to Personal Edition.... I would be interested if you could!

This is because data access is through core features in the Delphi Version you are using.  Borland disables or removes these features in the Personal Edition.

These features (probably base classes) are used by all 3rd Party Databases that are out there - that's my understanding anyway.

Also, most FAQ on the Websites of 3rd party Database suppliers always seem to say that the Personal Edition cannot be used.

I use DBISAM myself.  This is truly an excellent product, and is (in my opinion) the best Delphi Database out there.

I have tested all of them at one time or another and bought two others (no names - they were both good in there own way) that became increasingly problematic.

I don't honestly believe that any developer has gone head to head with Borland to create there very own Delphi Database suppport.  They have modified/improved the Borland offerring.

That's my 10 cents......

Good Luck


DBISAM has proved effortless and seamless and will
DarkCore_Connect With a Mentor Commented:
Voodooman is in true, PE does not include db unit, which implements some base classes like TDataset, TDatasource, TField ( and all its inherited ) and so more, which are widely used by Database components ( like zeoslib, BDE, ADO, dbExpress and so more ) and DBComponents ( like grids and others ).

But all is not lost, you can try to use the Free Pascal implementation of such classes. I've not tried it, but you can.

Wim ten BrinkConnect With a Mentor Self-employed developerCommented:
The Personal edition of Delphi does NOT support any database at all. But if it supports importing type libraries then the easiest way to access databases is by importing the ADODB type library and then start using raw ADO. This does mean that you have to write a lot of code yourself, but technically it should work with any database that ADO supports. Thus SQL Server, Oracle and MS Access would be available. And yes, ADO compiles into your executable and quite a few people (Especially those who use any Office product) will have ADO on their system.

Since you lack the DB unit, you won't have any data-aware components either. That will be a problem too since you would have to use the standard controls, fill them with data abd write most of the code yourself to keep them linked to the database. There are no good alternatives for this lack of DB aware controls...

Does the ADO complie into the executable - I really dont think it does.

Please do not take this as a criticism - I would be happy if you can prove me wrong.

To use Access with ADO you need both the MDAC (Microsoft Data Access Components)  and the Jet drivers (no longer included in the MDAC).

These files alone are 8.5mb.

Workshop Alex is correct in saying that you may very well have both the Jet drivers and MDAC installed - IE5/6 generally install these.  Distribution of these must be in the right compatibility sets.  You cannnot rely on them being installed.  Also for Win95 and Win 98 (lst Edition) you would need DCOM 95/98.

Try to buy a later version of Delphi Professional on E-Bay - make sure you get the original disks and the serial number.  I am not sure which version you need - perhaps someone can advise. I am using Ver7 and have no intention at present of going to Ver 8.

ezpeteAuthor Commented:
I already knew the PE of delphi did not natively include database support and what I was looking for was a component that did not need anything from the delphi to run such as you see alot of components like memos that are not simply decendents of the Tmemo component but rather using a completly unique set of code to make the compoenent and I just thought the same would hold true for other components (including DB compoents) but I guess not so I will just split the points amoungst all that have replied.
ezpeteAuthor Commented:
Additionally I just wanted to say that even if I did have the professional version of delphi I don't think there is a component that would suit all of my needs like I thought there would be because the component I was looking for would not simply connect to a database but instead would "BE" the database and the client that connects to it at the same time but I guess technology has not caught up with my dreams just yet and thus no such component exist just yet.
ezpeteAuthor Commented:
And not to keep this topic going any longer but I just wanted to inform Ivanov_G that according to the zeos FAQ it does not support the personal editions of borland compilers.


just incase you wanted to check it out for yourself.
Wim ten BrinkSelf-employed developerCommented:
@Voodooman, it all depends on your system. If you have a recent MS-Access version installed on your system then you also have ADO installed on this system. The same is true for MS SQL Server. Oracle and other databases might not install it, though. And yes, you need MDAC with ADO but then again, you need MDAC for many other things too. (LDAP and Active Directory support, for example.) And MDAC is slowly becoming part of Windows itself.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mdacsdk/htm/dasdk_overview.asp provides a good overview of MDAC.

Pleased to have been able to help

Workshop Alex - I agree with your comments on the MDAC. I have used VB and Access in commercial applications for 10years (since VB3 - a very nice product - you could get a whole program on 1 floppy....).

Deployment of the Jet Engine is problematic and remains so + there are good posibilities for some other developer breaking your nice progam by distributing the wrong set.

For example, (with VB anyway), if you are using data export routines (like Crystal Reports to PDF), then you need the Alt.dll, there are different versions of this for Win 9x and NT.  This is just 1 example.

We have spent weeks building and testing setups for VB apps using Access, and still had occassional problems.

We are using Delphi for several reasons:

1) Easy Deployment
2) We dont want to have to deploy the MDAC, Jet, or DCOM.
3) We dont want to have to deploy the numerous DLL's for Crystal Reports.
4) We want small downloadable programs.

Our Current Program that is about to be released is  just 1 executable and 9 database files, + 1 Help file - cool........

A 2mb download.  We have another VB Program that we sell that is a 16mb download.


Better do some paying work...

Best Wishes to all


<<...because the component I was looking for would not simply connect to a database but instead would "BE" the database and the client that connects to it at the same time...>>

I think you just desribed MSAccess itself...... (if it didnt need all those DLL's).

If you use EasyTable from www.AidAim.com you can build the database (with data) into the executable.

You cannot of course add or edit the data but you can display it, search it etc. - if this is waht you are looking to do.


well .. if you need a component that _is_ the database, you have some native classes to access to dBase tables ... and the mSQL database ( just need a single DLL, I think ) ... but both of them depends on db unit from the VCL.

Have you tried the db unit from Free Pascal?

Wim ten BrinkSelf-employed developerCommented:
Well, Access is a self-contained program AND database. But so is SQL Server and Oracle. These databases have grown beyond just storing data. You can even add more functionality to SQL Server or Oracle by creating plug-in DLL's to add new SQL functions. You can set them up as (SOAP) web services too, combined with a nice web interface or just some thin client, retrieving data remotely as simple XML data.

> We have spent weeks building and testing setups for VB apps using Access, and still had occassional problems.
@Voodooman, I've had similar problems with Delphi and the BDE. Which is exactly why I've decided a few years ago to move towards ADO and just forget about the BDE. The BDE is dead anyways. The problems I used to have was that customers would have several different applications from different distributors that all installed their preferred version of the BDE. Thus one application would install the latest version and some flawed setup of another application would then uninstall the BDE and put an older version in its place. Or the fun I've had with the BDE version created by Corel. (As part of Corel Office, formerly known as Borland Office.)
I used to love the BDE but today, I think the BDE sucks! (Compared with it's alternatives.)

More recently I'm more investigating the usage of XML as data transport layer and storage. I already store a lot of configuration data in XML files and have done some interesting things with XML and stylesheets. It's quite powerful and like ADO, you can directly import the type libraries (e.g. MSXML) that will handle the XML data for you.
Hi Workshop Alex

I guess we could talk database all day long!!!

I am presently looking at low cost client server apps using DBISAM Client Server.

I think you can guess by now I like this product.....

See you around EE!

       Topaz (www.softsci.com) has been around since Delphi version 1 & uses DBase tables. Before Delphi 3 when BDE references were scattered all over the database source Topaz could be installed as a BDE alternative. It has memo's edits etc but can not use any of the Borland database components. After Delphi 3 Topaz could access all the 3rd party database components etc when the BDE stuff was all separated. Maybe you could install on Delphi 6 personal edition using the Delphi 1 install. You would be stuck with Topaz only database components but it compiles into the EXE like you requested.

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.

All Courses

From novice to tech pro — start learning today.