Supported Clients
SmartClient
WebClient
NGClient

Property Summary
QBLogicalCondition
and
Create an AND-condition to add conditions to.
QBColumns
columns
Get all the columns of the datasource that can be used for this query (select or where clause)
QBFunctions
functions
Get the functions clause from a query, used for functions that are not tied to a column.
QBGroupBy
groupBy
Get the group by clause from a query
QBLogicalCondition
having
Get the having-part of the query, used to add conditions.
QBJoins
joins
Get the joins clause of this table based clause.
QBLogicalCondition
or
Create an OR-condition to add conditions to.
QBParameters
params
Get the named parameters from a query.
QBTableClause
parent
Get query builder parent table clause, this may be a query or a join clause.
QBResult
result
Get the result part of the query, used to add result columns or values.
QBSelect
root
Get query builder parent.
QBSorts
sort
Get the sorting part of the query.
QBLogicalCondition
where
Get the where-part of the query, used to add conditions.

Methods Summary
QBSelect
clearHaving()
Clear the having-part of the query.
QBCondition
exists(query)
Get an exists-condition from a subquery
QBColumn
getColumn(name)
Get a column from the table.
QBColumn
getColumn(columnTableAlias, name)
Get a column from the table with given alias.
String
getDataSource()
Returns the datasource for this.
QBParameter
getParameter(name)
Get or create a parameter for the query, this used to parameterize queries.
String
getTableAlias()
Returns the table alias for this.
QBCondition
not(cond)
Create an negated condition.
QBCondition
not(cond)
Create an negated condition.

Property Details

and

Create an AND-condition to add conditions to.

Returns

QBLogicalCondition

Supported Clients

SmartClient,WebClient,NGClient

Sample

query.where.add(
	  query.or
	    .add(
	      query.and
		    .add(query.columns.flag.eq(1))
	    .add(query.columns.order_date.isNull)
		 )
	    .add(
	      query.and
	        .add(query.columns.flag.eq(2))
	        .add(query.column.order_date.gt(new Date()))
	     )
	);
 

columns

Get all the columns of the datasource that can be used for this query (select or where clause)

Returns

QBColumns

Supported Clients

SmartClient,WebClient,NGClient

Sample

var query = foundset.getQuery();
query.result.add(query.columns.name, "name");
query.where.add(query.columns.orderdate.isNull)
 

functions

Get the functions clause from a query, used for functions that are not tied to a column.

Returns

QBFunctions

Supported Clients

SmartClient,WebClient,NGClient

Sample

var query = ddatasources.db.example_data.orders.createSelect();
query.where.add(query.columns.shipname.upper.eq(query.functions.upper('servoy'))) //$NON-NLS-1$
foundset.loadRecords(query)
 

groupBy

Get the group by clause from a query

Returns

QBGroupBy

Supported Clients

SmartClient,WebClient,NGClient

Sample

var query = datasources.db.example_data.orders.createSelect();
query.groupBy.addPk() // have to group by on pk when using having-conditions in (foundset) pk queries
.root.having.add(query.joins.orders_to_order_details.columns.quantity.count.eq(0))
foundset.loadRecords(query)
 

having

Get the having-part of the query, used to add conditions. The conditions added here are AND-ed.

Returns

QBLogicalCondition

Supported Clients

SmartClient,WebClient,NGClient

Sample

var query = datasources.db.example_data.orders.createSelect();
query.groupBy.addPk() // have to group by on pk when using having-conditions in (foundset) pk queries
.root.having.add(query.joins.orders_to_order_details.columns.quantity.count.eq(0))
foundset.loadRecords(query)
 

joins

Get the joins clause of this table based clause. Joins added to this clause will be based on this table clauses table.

Returns

QBJoins

Supported Clients

SmartClient,WebClient,NGClient

Sample

foundset.getQuery().joins
 

or

Create an OR-condition to add conditions to.

Returns

QBLogicalCondition

Supported Clients

SmartClient,WebClient,NGClient

Sample

query.where.add(
	  query.or
	    .add(
	      query.and
		    .add(query.columns.flag.eq(1))
	    .add(query.columns.order_date.isNull)
		 )
	    .add(
	      query.and
	        .add(query.columns.flag.eq(2))
	        .add(query.column.order_date.gt(new Date()))
	     )
	);
 

params

Get the named parameters from a query.

Returns

QBParameters

Supported Clients

SmartClient,WebClient,NGClient

Sample

var query = datasources.db.example_data.orders.createSelect();
	query.where.add(query.columns.contact_id.eq(query.getParameter('mycontactid')))

	// load orders where contact_id = 100
	query.params['mycontactid'] = 100
	foundset.loadRecords(query)

	// load orders where contact_id = 200
	query.params['mycontactid'] = 200
	foundset.loadRecords(query)
 

parent

Get query builder parent table clause, this may be a query or a join clause.

Returns

QBTableClause

Supported Clients

SmartClient,WebClient,NGClient

Sample

var query = datasources.db.example_data.person.createSelect();
	query.where.add(query.joins.person_to_parent.joins.person_to_parent.columns.name.eq('john'))
	foundset.loadRecords(query)
 

result

Get the result part of the query, used to add result columns or values.

Returns

QBResult

Supported Clients

SmartClient,WebClient,NGClient

Sample

query.result.add(query.columns.company_id).add(query.columns.customerid)
 

root

Get query builder parent.

Returns

QBSelect

Supported Clients

SmartClient,WebClient,NGClient

Sample

var subquery = datasources.db.example_data.order_details.createSelect();

	var query = datasources.db.example_data.orders.createSelect();
	query.where.add(query
		.or
			.add(query.columns.order_id.not.isin([1, 2, 3]))

			.add(query.exists(
					subquery.where.add(subquery.columns.orderid.eq(query.columns.order_id)).root
			))
		)

	foundset.loadRecords(query)
 

sort

Get the sorting part of the query.

Returns

QBSorts

Supported Clients

SmartClient,WebClient,NGClient

Sample

var query = datasources.db.example_data.orders.createSelect();
query.sort
.add(query.joins.orders_to_order_details.columns.quantity.desc)
.add(query.columns.companyid)
foundset.loadRecords(query)
 

where

Get the where-part of the query, used to add conditions. The conditions added here are AND-ed.

Returns

QBLogicalCondition

Supported Clients

SmartClient,WebClient,NGClient

Sample

var query = foundset.getQuery()
query.where.add(query.columns.flag.eq(1))
 

Methods Details

clearHaving()

Clear the having-part of the query.

Returns

QBSelect

Supported Clients

SmartClient,WebClient,NGClient

Sample

var q = foundset.getQuery()
q.where.add(q.columns.x.eq(100))
query.groupBy.clear.root.clearHaving()
foundset.loadRecords(q);
 

exists(query)

Get an exists-condition from a subquery

Parameters

QBSelect
query
the sub query

Returns

QBCondition

Supported Clients

SmartClient,WebClient,NGClient

Sample

foundset.query.where.add(query.exists(query2))
 

getColumn(name)

Get a column from the table.

Parameters

String
name
the name of column to get

Returns

QBColumn

Supported Clients

SmartClient,WebClient,NGClient

Sample

foundset.getQuery().getColumn('orderid')
 

getColumn(columnTableAlias, name)

Get a column from the table with given alias. The alias may be of the main table or any level deep joined table.

Parameters

String
columnTableAlias
the alias for the table
String
name
the name of column to get

Returns

QBColumn

Supported Clients

SmartClient,WebClient,NGClient

Sample

foundset.getQuery().getColumn('orderid', 'opk')
 

getDataSource()

Returns the datasource for this.

Returns

String

Supported Clients

SmartClient,WebClient,NGClient

Sample

 

getParameter(name)

Get or create a parameter for the query, this used to parameterize queries.

Parameters

String
name
the name of the parameter

Returns

QBParameter

Supported Clients

SmartClient,WebClient,NGClient

Sample

var query = datasources.db.example_data.orders.createSelect();
	query.where.add(query.columns.contact_id.eq(query.getParameter('mycontactid')))

	// load orders where contact_id = 100
	query.params['mycontactid'] = 100
	foundset.loadRecords(query)

	// load orders where contact_id = 200
	query.params['mycontactid'] = 200
	foundset.loadRecords(query)
 

getTableAlias()

Returns the table alias for this.

Returns

String

Supported Clients

SmartClient,WebClient,NGClient

Sample

 

not(cond)

Create an negated condition.

Parameters

QBCondition
cond
the condition to negate

Returns

QBCondition

Supported Clients

SmartClient,WebClient,NGClient

Sample

foundset.query.where.add(query.not(query.columns.flag.eq(1)))
 

not(cond)

Create an negated condition.

Parameters

QBLogicalCondition
cond
the logical condition to negate

Returns

QBCondition

Supported Clients

SmartClient,WebClient,NGClient

Sample

foundset.query.where.add(query.not(query.columns.flag.eq(1)))