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 :
Merci par avance de vos réponses
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(); }
Partager