Conexão com o Banco de Dados e Operações com SQLite
Conexão com o Banco de Dados
A conexão com o banco de dados é feita utilizando QSqlDatabase. A classe Conexao gerencia a abertura e fechamento da conexão com o banco de dados SQLite.
Exemplo:
bool Conexao::abrir()
{
if (!bancoDeDados.open()) {
qDebug() << "Erro ao abrir o banco de dados:" << bancoDeDados.lastError().text();
return false;
}
return true;
}
Execução de Consultas SQL
As consultas SQL são executadas usando QSqlQuery. A classe QSqlQuery permite preparar e executar consultas SQL, além de manipular os resultados.
Exemplo:
QSqlQuery query;
query.prepare("SELECT * FROM tb_pacientes");
if (query.exec()) {
while (query.next()) {
// Manipulação dos dados
}
} else {
qDebug() << "Erro ao executar a query:" << query.lastError().text();
}
Exibição de Dados na Interface
Para exibir dados na interface, o projeto utiliza QTableWidget para tabelas personalizadas. Os dados são carregados diretamente nas tabelas a partir dos resultados das consultas SQL.
Exemplo:
void MainWindow::setTabelaPacientes(QSqlQuery &query)
{
int tb_linha = 0;
ui->tw_pacientes->clearContents();
ui->tw_pacientes->setRowCount(0);
ui->tw_pacientes->setColumnCount(9);
while (query.next()) {
ui->tw_pacientes->insertRow(tb_linha);
for (int i = 0; i <= 8; i++) {
ui->tw_pacientes->setItem(tb_linha, i, new QTableWidgetItem(query.value(i).toString()));
}
tb_linha++;
}
}
Segurança e Integridade dos Dados
A segurança e integridade dos dados são garantidas através de:
Prepared Statements: Uso de query.prepare para evitar injeção de SQL.
Validação de Dados: Validação dos dados antes de inseri-los no banco.
Atualizado