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