Bonjour
J’ai un petit soucis avec le composant ADO sous Borland C++ 6.0,
Lorsque je poste un nouveau record via une commande SQL classique du genre
je constate que si je fais une requête via un autre query juste après
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 AdoInfoQueryDS->Close(); AdoInfoQueryDS ->SQL->Clear(); AdoInfoQueryDS ->SQL->Add("INSERT INTO maDb ([client]) VALUE (:client)"); AdoInfoQueryDS ->Parameters->ParamByName("client ")->Value = “Albert”; AdoInfoQueryDS ->Prepared=true; AdoInfoQueryDS ->ExecSQL();
AdoInfoQueryDS2 ne contient pas le nouveau client « Albert » il faut attendre +- 3 secondes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 AdoInfoQueryDS2>Close(); AdoInfoQueryDS2->SQL->Clear(); AdoInfoQueryDS2->SQL->Add("SELECT * from maDb"); AdoInfoQueryDS2 ->Open();
par contre si je reutilise le query utilisé pour poster alors j’ai le nouveau record
contient albert instantanément après
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 AdoInfoQueryDS ->Close(); AdoInfoQueryDS ->SQL->Clear(); AdoInfoQueryDS ->SQL->Add("SELECT * from maDb"); AdoInfoQueryDS ->Open();
je crois comprendre qu’en fait AdoInfoQueryDS ->ExecSQL(); n’écrit pas instantanément dans la dataBase ?
Comment puis-je faire pour lorsque je poste via un query, immédiatement après je peux être certain que je lirais la modif via un autre query ?
Merci de votre aide
Partager