Exploiter le résultat d'une requête SQL avec C++ builder
Bonjour à tous,
J'utilise C++ builder 5, je suis en cours de développement d'une application qui suite à un clic sur un bouton doit générer un code aléatoire sur 4 chiffres entre 1000 et 9999. Ensuite je dois tester l'éxistance de ce code dans ma table AccessVL ainsi que la valeur d'un champs. Celle ci est composée de :
-Code_Aleatoire(int)
-Entree_Effectuee(bool)
-Sortie_Effectuee(bool)
Une fois mon code généré, je dois effectuer une requête SQL sur ma table pour vérifier si le code éxiste déjà et si le champ Entree_Effectuee est bien à false, auquel cas je regénère un code. Le problème est que je ne sais pas comment exploiter le résultat de ma requête pour vérifier mes conditions.
Voici le code associé à mon bouton :
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 35 36 37 38 39 40 41 42 43 44 45
|
void __fastcall TfAppli::bpGenerationCodeClick(TObject *Sender)
{
//ouverture de la table
//dmProg contient tous les composants ADO
//tCodeAletoire type ADOTable
dmProg->tCodeAleatoire->Open();
//déclaration code alléatoire
int CodeAleatoire;
randomize();
//génération du code aleatoire
CodeAleatoire = random(9000) + 1000;
//vérification si le code existe déjà
//tQCodeAleatoire type ADOQuery
tQCodeAleatoire->Close();
tQCodeAleatoire->SQL->Clear();
//essai avec le code 1578 déjà créé dans la base
tQCodeAleatoire->SQL->Add("SELECT * FROM AccesVL WHERE Code_Aleatoire='1578'");
tQCodeAleatoire->Open();
if ()
//vérification du résultat de la requête (si code existe)
...
&& ()
//vérification du champs Entree_Effectuee
...
{
//nouveau code aléatoire
CodeAleatoire = random(9000) + 1000;
}
//message si ok
ShowMessage ("Le code Aléatoire à saisir est :" + String(CodeAleatoire) );
//enregistrement dans la table
dmProg->tCodeAleatoire->Append();
dmProg->tCodeAleatoire->FieldValues["Code_Aleatoire"]= CodeAleatoire;
dmProg->tCodeAleatoire->Post();
//fermeture de la table
dmProg->tCodeAleatoire->Close();
} |
Merci par avance de vos réponses :salut: