The Database Access Library for C++

FREQUENTLY ASKED QUESTIONS


General Questions

What is the Database Access Library
Can I use the Database Access Library to develop commercial applications.
Can I distribute the Database Access Library to others.
Are there samples that show me how to program in dalc++
How do I register for a driver
I want to use an other compiler or platform
How can I get a driver for another database.
Where can I ask questions or submit a bug report.


Technical Questions

I iterate through a collection and the item is invalid
My Persistent Instance is invalid.
The library issues an error that de dalmxsmXX.dll or dalmxsbXX.dll is not in my path
My selection crashes when running in debug mode in Visual C++
When i select data, the attributes sometimes do not contain the values from the database


General Questions

What is the Database Access Library

The Database Access Library is a C++ ClassLibrary that makes connecting to a relational database from an object-oriented C++ application effortless. It takes care of all issues of transformation between the object-oriented paradigm to the relational model without compromising any feature of object-orientation. It includes the ModelGenerator, a full featured multi-user application that can generate header-files that define your class-model.

Can I use the Database Access Library to develop commercial applications.

Yes you can use the Database Access Library to develop all kinds of applications including commercial ones. The license for the Database Access Library allows you to redistribute the core library dalcppm12.dll or dalcppb12.dll and the Files driver dalflsm12.dll or dalflsb12.dll. Besides that you are allowed to redistribute all other drivers if you have a valid registration for it.

Can I distribute the Database Access Library to others.

In principal no, unless I give you written authorization to do so. But if you just give a copy to your friend I won't sue. If you want to put it on a CDROM, please use
this form

Are there samples that show me how to program in dalc++

Download the newest version of the library. It includes samples that show you how to use all features of the library. You can download it
here There you will get a detailed explanation of how to register and how to unlock your driver.

How do I register for a driver

Go to
http://www.palisand.com/register There you will get a detailed explanation of how to register and how to unlock your driver.

I want to use an other compiler or platform

At this time the Database Access Library for C++ is support for Microsoft Visual C++ 6.0 and Borland C++Builder 5.0. At a later date other platforms and compilers may be supported

How can I get a driver for another database.

In the main distribution only the drivers for Binary Files and MS-Access are included. Drivers for Oracle 7 and 8, MS-SqlServer and Sybase are or will be for sale at
The registration page

Where can I ask questions or submit a bug report.

You are always welcome to contact us with
this form . We will get back to you as soon as possible.


Technical Questions

I iterate through a collection and the item is invalid

This problem will occur when the collection you are iterating through does not exist anymore. This can for instance happen in the following case:

...
String temp = "aaa|bbb|ccc";
PtrVectorIterator<String> i(temp.split("|"));
while (i.next()) {
  cout << i.value() << endl;  // here the program will crash.
}

      
The problem here is that the String::split method returns a const ValVector<String>, that does not exist anymore when you start iterating through the vector. The solution is to assign the return value of split first to a temporary variable.
...
String temp = "aaa|bbb|ccc";
ValVector<String> vector = temp.split("|");
PtrVectorIterator<String> i(vector);
while (i.next()) {
  cout << i.value() << endl;
}

      
Now you will have no problem.

My Persistent Instance is invalid.

The most likely reason is that you have forgotten to use the Pointer<...> template as type for pointervariable that is referencing your Instance.  The garbage collection algorithm has not detected you are still referencing this instance and has deleted it. See for this paragraph 4.4

The library issues an error that de dalmxsmXX.dll or dalmxsbXX.dll is not in my path

These libraries are installed in your system directory, so they are normally in your path This error can also occur when you have not installed ODBC on your system. In that case you download it from Microsoft.

My selection crashes when running in debug mode in Visual C++

Upgrade to the last version of the library. This problem is fixed.

When i select data, the attributes sometimes do not contain the values from the database

Upgrade to the last version of the library. This problem is fixed.