No modulo 12 uma nova componente foi introduzida, aprendemos a criar bases de dados em QT.
Antes da programação em si, começamos por criar uma pequena apresentação onde é explicado o básico sobre bases de dados, mySql, etc. que pode ser baixado no link seguinte:
Agora a programação: No programa que eu fiz criei uma ligação a base de dados situada no phpmyadmin em qt mas antes de explicar umas imagens sobre o programa:
Nas imagens pode-se ver um semáforo, este semáforo fica vermelho quando não foi possível a ligação a base de dados e verde quando e possível, é no código que podemos por a nossa palavra passe, nome, etc, como se pode ver no seguinte extracto de código:
myHostName="xxx.xxx.x.xxx";
myDatabase="graca";
myUserName="graca";
myPassword="xxxxxxxxxx";
bool projectMovie::ligar_bd(){
if((db_status = createConnection(myHostName, myDatabase, myUserName, myPassword))){
createDatabase();
ui->label_2->setPixmap(QPixmap(":/images/green"));
setMenuStatus02();
}else{
ui->label_2->setPixmap(QPixmap(":/images/red"));
setMenuStatusFAIL();
}
return db_status;
}
Depois criamos a tabela para isso temos que fazer um QtableView e digitar os dados como se pode ver no seguinte:
void projectMovie::createDatabase(){
QSqlQuery query;
query.exec("drop table movies");
query.exec("create table movies ("
"name varchar(20) primary key, "
"rate varchar(20), "
"idade_permitida varchar(20), "
"bilhete varchar(20), "
"sala int, "
"disponibilidade varchar(20))"
);
}
void projectMovie::createTestData(){
QSqlQuery query;
query.exec("insert into movies values('fast & furious', '*****', '+16', '5e', 5 ,'100%')");
query.exec("insert into movies values('Mr Bean', '****', '+6', '5e', 3, '20%')");
query.exec("insert into movies values('B13 2', '*****', '+18', '10e(vip room)', 10 ,'10%')");
query.exec("insert into movies values('Tiago Costa', '*****', '+18', '10e', 1 ,'0%')");
}
por fim existem vários botões, cada um e um dialog onde podemos ver a tabela, inserir dados, eliminar dados e procurar.
No QT o resultado final é este:
0 comentários:
Enviar um comentário