InterBase Referential Integrity – InterBase Labs

InterBase Referential Integrity

https://youtu.be/X_xAHWEYQSE

InterBase has a number of options for Referential Integrity that are powerful to use and simplify keeping data valid.

This video covers (more reading from the InterBase DocWiki on the links here)

Tip for adding Constraints.

One very cool tip in the video is to use constraints to add in a unique key, this way you can drop it easily at runtime.  Remember, the field needs to be marketed NOT NULL to enable a primary or unique key.

ALTER TABLE CUSTOMER ADD CONSTRAINT U_TEST UNIQUE (CUSTOMER_NAME);

The above example names the constraint U_TEST. (you can put whatever value you want in to name it, making it easy to drop with the following statement.

ALTER TABLE CUSTOMER DROP CONSTRAINT U_TEST;

InterBase Labs

For more InterBase Labs videos visit the InterBase pages on the Embarcadero website.

LiveBindings in VCL – Part 7 – More LiveBinding Classes

In my earlier posts on Delphi Visual Live Bindings I looked at how to link to bindings via code.

There are a number of classes that help along the way but there are two specific categories of classes and that is what I want to cover in this post.

LiveBindings and List v Link

Sometimes you want to fill a list with values; sometimes you want to keep a list of values updated; this is in essence the difference between using List (e.g. TBindList, TBindGridList) and Link (e.g. TBindListLink, TBindGridLink)

TBindList will fill a list with values, if the data/objects linked to changes then the data will not update unless you manually tell the list to re-populate using the bindings FillLists property.

TBindListLink however will keep the list in sync.

Before you continue… look at the samples

I recommend playing with the “OneOfEach” sample in the samples directory.

{samples}\LiveBindings\oneofeach\vcl

Try changing the fish name in the TBindGridLink and seeing how it updates over the other tabs where the FishFacts data is used.

What is a Binding Source and how is it different to the Control?

Continue reading LiveBindings in VCL – Part 7 – More LiveBinding Classes