Database

Description

The Database object is the base class of all database objects. It contains a list of DatabaseTable objects and DatabaseSqlQuery objects.

› Inherits:Object
› Inherited by:LocalDatabase, NetworkDatabase

Properties

autoOpen

This property holds whether to automatically open a connection to the database.

› Type:Boolean
› Default:true
› Signal:autoOpenChanged()
› Attributes:Writable

closeOnConnectionError

This property holds whether to automatically call close() whenever a connection error (Database.ConnectionError) occurs. In conjunction with autoOpen enabling this property allows implementing resilient database connections.

This property was introduced in InCore 1.1.

› Type:Boolean
› Default:true
› Signal:closeOnConnectionErrorChanged()
› Attributes:Writable

debugSqlQueries

This property holds whether to log all executed SQL queries and resulting error messages to the console.

This property was introduced in InCore 1.1.

› Type:Boolean
› Default:false
› Signal:debugSqlQueriesChanged()
› Attributes:Writable, Optional

error

This property holds the most recently occurred error or Database.NoError if no error occurred. If the same error occurs multiple times this property does not change. Use the errorOccurred() signal to detect multiple occurrences of the same error.

› Type:Error
› Signal:errorChanged()
› Attributes:Readonly

errorDetails

This property holds a human-readable database- or driver-specific description of the last error. It may provide additional information to errorString whenever an error occurs.

› Type:String
› Attributes:Readonly

errorString

This property holds the current human readable error string corresponding to the current value in the error property. It may include additional information such as failure reasons or locations.

› Type:String
› Signal:errorStringChanged()
› Attributes:Readonly

name

This property holds the name of the database to access. It depends on the actually used database implementation and the server configuration whether this property is honored or even required.

› Type:String
› Signal:nameChanged()
› Attributes:Writable

ready

This property holds whether the database has been opened successfully and is ready to execute queries.

This property was introduced in InCore 2.5.

› Type:Boolean
› Default:false
› Signal:readyChanged()
› Attributes:Readonly

reopenInterval

This property holds the interval in milliseconds in which the database is reopened in case a connection is lost or failed. Set to 0 to disable this behaviour.

› Type:SignedInteger
› Default:60000
› Signal:reopenIntervalChanged()
› Attributes:Writable

sqlQueries

This property holds a list of DatabaseSqlQuery objects.

› Type:List<DatabaseSqlQuery>
› Signal:sqlQueriesChanged()
› Attributes:Readonly

tables

This property holds a list of DatabaseTable objects. Each table will be mapped to a table in the database file.

› Type:List<DatabaseTable>
› Signal:tablesChanged()
› Attributes:Readonly

Methods

close()

This method closes the database and frees all internal resources.

This method was introduced in InCore 1.1.

dropAllTables()

This method removes all tables from the database. All tables are closed before being dropping.

› Returns:Boolean

open()

This method (re)opens the database. The internal database is recreated.

Signals

errorOccurred()

This signal is emitted whenever an error has occurred, regardless of whether the error property has changed or not. In contrast to the change notification signal of the error property this signal is also emitted several times if a certain error occurs several times in succession.

sqlQueriesDataChanged(SignedInteger index)

This signal is emitted whenever the List.dataChanged() signal is emitted, i.e. the item at index in the sqlQueries list itself emitted the dataChanged() signal.

tablesDataChanged(SignedInteger index)

This signal is emitted whenever the List.dataChanged() signal is emitted, i.e. the item at index in the tables list itself emitted the dataChanged() signal.

Enumerations

Error

This enumeration describes all errors which can occur in Database objects. The most recently occurred error is stored in the error property.

Name Value Description
Database.NoError 0 No error occurred or was detected.
Database.InvalidStorageError 1 None or invalid storage set.
Database.StoragePathError 2 Error while creating directories on storage.
Database.OpenError 3 Can’t open database.
Database.InitializationError 4 Error while performing database initialization tasks.
Database.CreateTablesError 5 Failed to create tables in database.
Database.InvalidCredentials 6 Some credentials are missing or invalid, e.g. no password set.
Database.InvalidNameError 7 None or invalid database name specified.
Database.ConnectionError 8 Connection lost.