Bonjour,
J'utilise une base mysql distante. Avant d'utiliser un query, je vérifie si la connexion est encore effective (avec précautions nécessaires try...)
Donc j'ai un code du type
Je me demandais s'il était possible de réaliser cette opération dans la propriété BeforeOpen du Query avec un code du même genre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if VerifConnect then try Queryxxx.SQL.Clear; Queryxxx.SQL.Add('SELECT ...........'); Queryxxx.Open; ...
Donc directement (sans if VerifConnect then...)
Avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 try Queryxxx.SQL.Clear; Queryxxx.SQL.Add('SELECT ...........'); Queryxxx.Open; ...
En l'absence de connexion, la procédure Dataset.Open se déclenche et passe par l'évènement BeforeOpen. Mais une fois l'absence de connexion constatée, j'aimerais que le DataSet se ferme annulant ainsi la séquence de remplissage du DataSet-->DataSource-->dbGrid.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 procedure TForm.QueryxxxBeforeOpen(DataSet: TDataSet); begin if not VerifConnect then Queryxxx.close; end;
Mais le Queryxxx.close de la procedure BeforeOpen est sans effet ?
La question paraît à priori stupide, mais comme le logiciel est multi-utilisateurs, que les refresh et les repositionnements dans les dbGrids sont fréquents et qu'il est donc nécessaire de passer par le DataSet, incorporer une procédure de vérif de la réalité de la connexion dans le DataSet me simplifierait la vie.
Merci d'avance.
Partager