Qt → Widgets → Query Builder

O componente para criação de Query foi desenvolvido utilizando um conjunto de interfaces de modo a permitir sua reutilização e facilitar em sua manutenção. Um wizard utilizando esses componentes individuais foi criado para auxiliar neste processo.

O resultado final deste componente é um objeto do tipo te::da::Select. Mais informações no módulo de query.

Wizard Pages

Neste tópico serão detalhadas as interfaces utilizadas no processo de construção da consulta.

Página 1 Escolha dos data sets → Cláusula FROM .

Esta página permite ao usuário escolher quais data sets farão parte de sua consulta, a cada data set selecionado um “alias” pode ser associado. O usuário deve selecionar ao menos um data set para dar continuidade ao processo.

Página 2 Escolha dos atributos → Cláusula FIELDS .

Esta página lista todos os campos de todos os data sets selecionados pelo usuário no passo anterior. O usuário deve selecionar ao menos um atributo para dar continuidade ao processo.

Página 3 Definição da restrição da consulta - Cláusula WHERE .

Neste passo é possivel definir uma ou mais restrições para sua consulta.

Os operadores disponíveis varia em relação ao Data Source selecionado, listando apenas os operadores suportados, o mesmo ocorre com os conectores. Este passo é opcional.

Página 4 Definição de agrupamento - Cláusula GROUP BY .

Permite a escolha de atributos para o agrupamento do resultado da consulta. Este passo é opcional.

Página 5 - Definição de ordenação - Cláusula ORDER BY .

Permite a escolha de atributos e a forma de ordenação desejada. Este passo é opcional.

Query Layer Builder Wizard

O conceito de Query Layer Builder é permitir através da criação de uma consulta a algum data source que este resultado seja materializado como um layer, permitindo ao usuário poder visualizar e interagir com o resultado da consulta.

O wizard para este processo é definido pelos seguintes passos.

Página 1 Escolha do data source - datasourceselector.

Página 2 Escolha dos data sets → Cláusula FROM .

Página 3 Escolha dos atributos → Cláusula FIELDS .

Página 4 Definição da restrição da consulta - Cláusula WHERE .

Página 5 Definição de agrupamento - Cláusula GROUP BY .

Página 6 - Definição de ordenação - Cláusula ORDER BY .

Página 7 - TODO → Definição de um componente para o usuario definir o nome do data set a ser criando e outro metadados necessários.

Final Remarks

  • Deve have uma GUI que possibilite apenas exprimir uma consulta textual → sem wizard → no idioma do driver → pode ser até uma nova entrada chamada Native Query.

QR Code
QR Code wiki:designimplementation:qt:widgets:querybuilder (generated for current page)