J'écris en rafale une poignée de ligne par :
La transaction est en nowait / concurrency
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 IBQuery1.SQL.Text:='INSERT INTO AFFECTATION ( AFF_ANNEE, ATE_REF, OUV_NUMSS ) '+ ' VALUES ('+Edit1.Text+', '+ QuoteOrNull(ComboBox1.Text)+', :numss)'; for i:=1 to DstList.Items.Count do With IBQuery1 do begin ParamByName('numss').AsString:=SubWord(DstList.Items[i-1],1); try ExecSQL; except on E:EDatabaseError do begin IBCode:=IntToStr(SQLCode); CATErreur('Erreur de mise à jour: '+E.Message+'-'+IBCode); RollBack; Exit; end; end; end; // with Commit;
De suite après, je tente de vérifier l'existence de ce que je viens d'écrire par:Je suis là en Read / consistency, et je ne retrouve pas mes petits.....(coté serveur, IBExpert me confirme leur présence)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 IBQuery1.SQL.Clear; IBQuery1.SQL.Text:='SELECT COUNT(*) FROM AFFECTATION WHERE AFF_ANNEE=:aa '+ ' AND ATE_REF='+QuoteOrNull(ComboBox1.Items[ComboBox1.ItemIndex]); IBQuery1.ParamByName('aa').AsInteger:=StrtoInt(Edit1.Text); IBQuery1.Active:=True; if (IBQuery1.RecordCount>0) then if IBQuery1.Fields[0].AsInteger>0 then begin ......
Par contre, en sortant/relançant mon prog, je les trouve
J'ai du louper quelque chose, mais je ne vois pas quoi.
Qui peut me sortir de cette ornière ?
Partager