2011-08-17 5 views
0

Je construis une application en Qt/QML. J'ai une vue tabulaire de la base de données (PostgreSQL). Y at-il un moyen d'actualiser dynamiquement ma table s'il y a des changements dans la base de données.Bases de données et Qt

Une manière pas très efficace de le faire est de continuer à envoyer des requêtes SQL périodiques.

Y a-t-il un moyen automatique de garder ma vue rafraichie? Je suis ouvert pour utiliser n'importe quelle autre base de données si nécessaire.

+0

Utilisez-vous QSqlTableModel? – adritha84

+0

Parlez-vous de la modification hors application de la base de données? Ou votre application est-elle le seul client? – Lohrun

+0

Fondamentalement, les bases de données peuvent être mises à jour à partir d'autres modules. Mais je veux refléter toutes les modifications sur mon point de vue de la base de données. – Groovy

Répondre

1

Qt semble prendre en charge le mécanisme NOTIFY des bases de données PostgreSQL. Googling pour cela, il a trouvé quelques rapports de bogues, donc pas sûr de bien mis en œuvre qui est. Comme je ne l'ai jamais utilisé, je vais devoir vous référer à google.

+0

C'est ce que je cherche, s'il vous plaît partager plus de détails si vous avez. – Groovy

1

Si vous utilisez QSqlTableModel (ou une sous-classe éditable de QSqlQueryModel) avec QTableView, toutes les modifications apportées seront immédiatement visibles.

+0

Je l'ai essayé, ne semble pas fonctionner. – Groovy

+0

Avez-vous essayé les [Exemples Qt SQL] (http://doc.qt.nokia.com/latest/examples-sql.html), en particulier l'exemple de modèle de table et l'exemple de table mise en cache? – JohnJamesSmith0