Salut tout le monde ,
bon voilà j'explique mon problème : j'ai une interface de saisie d'une table nommée Groupe qui contient les champs suivant(Code_groupe,nom_groupe,code_section) .et j'ai deux edit et deux labels pour la saisie du code_groupe et nom_groupe ainsi ainsi que le bouton ajouter (pour ajouter les valeurs saisies qui seront par la suite affichées dans le DBgrid) ce que je veux faire c'est que lorsque l'utilisateur saisie groupe qui existe déjà(donc il saisie un code_groupe déja existant) un message d'erreur s'affichera indiquant que le groupe existe déja voici le code expliquant ce que je viens de dire
j'ai crée une requête ADOQuery2 et dans le propriété sql j'ai écrit :sur le edit1 j'ai profité à donner des paramètre à l'ADOQuery2
Code : Sélectionner tout - Visualiser dans une fenêtre à part select * from groupe where code_groupe = :p
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 procedure Tfiche_groupes_gestion.Edit1Change(Sender: TObject); begin ADOQuery2.Close; ADOQuery2.Parameters.ParamByName('p').Value:=StrToInt(edit1.Text); ADOQuery2.Open(); end;
puis le bouton ajouter
mon problème c'est que le message d'erreur s'affiche bien sauf qu'à la fin l'EDI génère une classe d'exception EConvertError vous le trouvez ci joint
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 procedure Tfiche_groupes_gestion.SpeedButton1Click(Sender: TObject); begin if (Edit1.text='')and(Edit2.text='') then showmessage(' veuillez saisir vos données '); if(ADOQuery2.Active=true)then begin MessageDlg('le groupe que vous voulez ajouter existe déja,mtError,[mbCancel],0); edit1.Clear ; end else if MessageDlg('voulez vous ajouter le groupe ',mtConfirmation,[mbYes,mbNo],0)=mrYes then begin ADOQuery1.sql.clear; ADOQuery1.sql.add('Insert into Groupe( code_groupe,nom_groupe,code_sec)values('+quotedstr(EDit1.Text)+','+quotedstr(Edit2.text)+','+quotedstr(DBEdit2.text)+' ) '); ADOQuery1.ExecSQL; showmessage('le groupe a été bien ajouté'); end; ADOQuery1.Close; //ADOQuery1.Active:=true; // ADOTable1.Post; ADOTable1.Refresh; edit1.Clear; edit2.Clear; end;
quelqu'un peut me guider s'il vous plait merci d'avance
Cordialement
Partager