Switch to: V11V10V9V8V7V6V5

VTable Elements Overview

Each Valentina Table can have several collections of elements. Below are listed the the different collections of Valentina Table. For a collection you can:

  • get the count of elements.
  • get each element by index (1-based).
  • get each element by name.
  • get each element by ID (not all collections support this).


Each Valentina table has some internal fields and one or more user-defined (custom) field(s). Although Valentina technically allows to have a VTable without custom fields in a database, such a VTable is useless, because you cannot store any data in it. [read more...]


Valentina Table can have user defined Calculation Fields that we name Table Methods.

A Table Method can be considered as Calculation Field because it adds into table one more column of data, but this data are not stored on disk, they are calculated on the fly for the current record. [read more...]


A Table can have Triggers - some SQL command, which is invoked automatically by engine if happens such event as INSERT/UPDATE/DELETE. Trigger can be invoked BEFORE or AFTER event.

Although Triggers are elements of Table first of all, they are registered by database into single collection, so triggers must have unique name in the scope of database.

Please note, that you can manage Triggers using only SQL commands, there is no API commands for this. [read more...]

There can be links between links.

You can create a link in different ways:

  • VDatabase.CreateBinaryLink() method.
  • creating an ObjectPtr field in a table.
  • creating FOREIGN KEY constraint.

Deletion of link happens using VDatabase.DropLink() or if delete ObjectPtr field or if you delete FOREIGN KEY constraint.

There is no limit for the number of links. Information about a Link is stored in the system tables. [read more...]