2009-09-22 4 views
0

Je vais avoir un moment de stupidité.Contrôle lié aux données WPF, Détecter le changement de table SQL

J'ai un contrôle TreeView dans WPF, qui affiche une liste de citations, soit Citation #, citation nom par exemple « Q # 1000 » « Citation du serveur » Ce TreeView est lié à une collection d'objets

public ObservableCollection quoteitems = new ObservableCollection(); 

Qui sont chargés à partir d'une base de données SQL via un SQLDataReader qui remplit la collection. Les modifications de la collection de devis sont validées par SQL après l'appel d'une méthode QuoteUpdate() qui écrit les modifications de la collection dans la base de données.

Le problème est, que se passe-t-il si un autre utilisateur utilisant la même application change le nom d'un devis. Comment puis-je détecter une modification de la table, SANS interroger la table pour les mises à jour ou utiliser un timmer pour actualiser les données dans TreeView? Ai-je manqué quelque chose dans les contrôles de liaison à SQL? Existe-t-il un moyen de lier un contrôle à une table et d'avoir les mises à jour gérées automatiquement par le contrôle? Je vois "liaison de données bidirectionnelle" et cela semble être ce que je suis après, mais je n'ai pas vu un moyen de le faire avec une source de données SQL. Ou est-ce que j'ai un moment stupide avec la façon dont je pense à la façon dont SQL fonctionne réellement!

Répondre

1

Si vous utilisez SQL Server (version 2005 et ultérieure), vous pouvez utiliser les notifications de requête pour surveiller les modifications. Jetez un oeil à this article pour obtenir une longueur d'avance sur cela.

Questions connexes