Éditer QSqTableModel et QTableView
Bonjour.
J'ai créée une grille pour afficher le contenu de ma base de données. Je désire y ajouter quelques fonctionnallités: un utilisateur clique sur une ligne et le progamme récupère le contenue des cellules. J'ai trouvé une solution mais elle n'est pas satisfesantes car elle oblige à ce que le numéro id et le numéro de ligne soit égaux , ce qui est bien sùr impossible après quelques ajouts/supps.
Voici la fonction :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| void FenPrincipale::on_tabless_clicked(QModelIndex index)
{
int a = index.row();
QString ch = QString::number(a, 10);
QSqlQuery query;
query.exec("select numeroStation from StationStationnee where id = "+ch);
QString nim="",nom="";
while (query.next()) {
nim = query.value(0).toString();
}
query.exec("select indiceStationnement from StationStationnee where id = "+ch);
while (query.next()) {
nom = query.value(0).toString();
}
query.exec("select id from mesures where numeroStation = "+nim+" AND indiceStationnement = "+nom);
int b= 0;
int i=0;
while (query.next() & i<1)
{
b = query.value(0).toInt();
i=i+1;
}
ui->tablemesures->selectRow(b);
} |
Je pense que c'est très clair. Le programme récupere le numéro de ligne correspondant à la selection de l'utilisateur.Puis il fait une requète sql pour connaitre le contenue de la ligne en utilisant le numéro de ligne comme id.
Je cherche plutôt un moyen de récuper directement les données de la grille avec l'index seulement et me passer de l'id.
Merci d'avance