DatabaseFieldOptions
Description
The DatabaseFieldOptions object defines additional options for a database field represented by a DataObject. It can be set through attached properties or instantiated as an arbitrarily-named custom property of the corresponding DataObject. See the example for details.
This object was introduced in InCore 1.1.
- › Inherits:
Overview
Properties
Methods
Signals
Enumerations
Properties
autoIncrement
This property holds whether this field should be marked as auto-increment if this field is the primary key as well.
- › Type:
Boolean
- › Default:
false- › Signal:
autoIncrementChanged()
- › Attributes:
Writable
blank
This property holds whether to allow this field to be empty when inserting a new data row.
- › Type:
Boolean
- › Default:
false- › Signal:
blankChanged()
- › Attributes:
Writable
dbColumn
This property holds the name of the database column for the field, otherwise per default the object ID is be used.
- › Type:
String
- › Signal:
dbColumnChanged()
- › Attributes:
Writable
dbIndex
This property holds whether to create an index on this field.
- › Type:
Boolean
- › Default:
false- › Signal:
dbIndexChanged()
- › Attributes:
Writable
maxLength
This property holds the maximum length of the field used when creating the database table. Leave at 0 to disable a maximum length.
- › Type:
SignedInteger
- › Default:
0- › Signal:
maxLengthChanged()
- › Attributes:
Writable
notNull
This property holds whether to insert empty values or NULL values if the field value is empty or not specified.
- › Type:
Boolean
- › Default:
true- › Signal:
notNullChanged()
- › Attributes:
Writable
onDelete
This property holds the foreign key constraint to create on this field. See SQL Server Foreign Key Update and Delete Rules and the ForeignKeyConstraint enumeration for details.
- › Type:
- › Default:
- › Signal:
onDeleteChanged()
- › Attributes:
Writable
primaryKey
This property holds whether to use this field as the primary key. If no primary key is explicitly defined, an auto-increment integer field will be added.
- › Type:
Boolean
- › Default:
false- › Signal:
primaryKeyChanged()
- › Attributes:
Writable
unique
This property holds whether this field must be unique throughout the table.
- › Type:
Boolean
- › Default:
false- › Signal:
uniqueChanged()
- › Attributes:
Writable
Enumerations
ForeignKeyConstraint
This enumeration describes all possible constraints which can be set for foreign keys.
Name |
Value |
Description |
|---|---|---|
|
|
No constraint will be set. |
|
|
Operation not allowed if it would alter the integrity of the database. |
|
|
The change is allowed and propagates on the child table. For example, if a parent row is deleted, the child row is also deleted; if a parent row’s ID changes, the child row’s ID will also change. |
|
|
The change is allowed and the child row’s foreign key columns are set to |
Example
import InCore.Foundation 2.5
import InCore.Database 2.5
Application {
LocalDatabase {
id: exampleDatabase
DatabaseTable {
id: messages
DateTime {
id: date
DatabaseFieldOptions.dbIndex: true
}
DataObject {
id: text
dataType: DataObject.String
data: "<default message>"
property var options : DatabaseFieldOptions { maxLength: 127; notNull: true }
}
}
}
onCompleted: messages.submit()
}