DatabaseQueryFilter¶
Description¶
The DatabaseQueryFilter object represents a query filter used in DatabaseQuery objects. Each filter consists of a set of DatabaseQueryWhere objects which are combined using logical OR
. This means that one of the defined WHERE
conditions have to match to make the whole filter match for a particular row.
› Inherits: | Object |
---|
Properties¶
where¶
This property holds one or multiple DatabaseQueryWhere instances or references to them used to create an SQL query for this filter.
› Type: | List<DatabaseQueryWhere> |
---|---|
› Signal: | whereChanged() |
› Attributes: | Readonly |
Signals¶
whereDataChanged(SignedInteger index)¶
This signal is emitted whenever the List.dataChanged() signal is emitted, i.e. the item at index
in the where list itself emitted the dataChanged() signal.
Example¶
import InCore.Foundation 2.5
import InCore.Database 2.5
Application {
LocalDatabase {
id: exampleDatabase
DatabaseTable {
id: exampleTable
DateTime { id: date }
Measurement { id: temperature1 }
Measurement { id: temperature2 }
queries: [
DatabaseQuery {
id: exampleQuery
DatabaseQueryFilter {
DatabaseQueryWhere { key: temperature1; operation: DatabaseQueryWhere.GreaterThan; value: 20 }
DatabaseQueryWhere { key: temperature2; operation: DatabaseQueryWhere.LessThan; value: 30 }
}
onResultsChanged: console.log(toJson(results))
}
]
}
}
Timer {
onTriggered: {
temperature1.data = 25 - Math.random() * 20
temperature2.data = 25 + Math.random() * 20
exampleTable.submit()
exampleQuery.execute()
}
}
onCompleted: exampleTable.drop()
}