Como selecionar informações do banco de dados sem o uso de declaração SQL em Qt
Dados do artigo
Testado com
Aparelho(s): Nokia 5800 eXpressMusic, Nokia N900
Compatibilidade
Plataforma(s): Qt
Artigo
Palavras-chave: QSqlDatabase, QSQlite, QSqlTableModel, QSqlRecord
Tradução:
Por valderind4
Última alteração feita por hamishwillee
em 11 Oct 2012
Contents |
Introdução
Este exemplo mostra como pesquisar dados com QSqlTableModel de um banco de dados (SQLite) com Qt e sem o uso de qualquer declaração SQL.
A tabela pessoa tem as seguintes colunas:
- id (integer primary key), este é um campo de auto-incremento
- firstname (varchar(20))
- lastname (varchar(30))
- age (integer)
Pré-requisitos
- O Qt deve está instalado na sua máquina.
- S60
- Baixe e instale a versão atual do Qt segundo as instruções Qt (Portuguese).
- Qt 4.5 em diante já possui suporte a SQLite. As bibliotecas necessárias já fazem parte da versão do Qt.
- Maemo
- Mais informações sobre Qt para Maemo podem ser encontradas aqui e em Qt4 Maemo port (Inglês).
Para o desenvolvimento em Maemo usando SQLite é necessário que os seguintes pacotes estejam instalados:
- libqt4-sql
- libqt4-sql-sqlit
- libsqlite3-0
- libsqlite3-dev
Cabeçalho
#include <QSqlTableModel>
#include <QSqlRecord>
#include <QString>
Código fonte
Seleciona uma informação da pessoa. O id da pessoa é usado com filtro para a seleção.
QSqlTableModel *model = new QSqlTableModel;
// Set used table
model->setTable("person");
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
// Set where clause
model->setFilter(QString("id=%1").arg(personId));
model->select();
// Read result
QSqlRecord record = model->record();
if (!record.isEmpty())
QString name = record.value(2).toString();
Conclusões
Os dados da pessoa pesquisada foram obtidos do banco de dados sem o uso de instruções SQL.

