Sur quelle ligne l'erreur "ADOQueryResa: Cannot perform this operation on an open dataset."
est-elle signalée ?
---

Nono du Moulin

---
-------------------------------
Réponse au message :
-------------------------------
Salut à tous,
Problème :
Avec le code ci-dessous, j'ai une erreur qd j'essaye de fermer ma base : "BOF ou EOF égal à True ou l'enregistrement actuel a été suprimé. L'opération demandée nécessite un enregistrement actuel"
J'ai donc essayé de testé EOF et la je n'ai plus cette erreur. Mais la c'est une autre erreur qui apparait lorsque je veux relancer une requête sur ma base : "ADOQueryResa: Cannot perform this operation on an open dataset."
Code(ce code essaye de fermer la base sans tester EOF) :
// Construction de la requête
with ADOQueryResa.SQL do
begin
Clear;
Add('SELECT * FROM RESA WHERE ');
if not bSupprime then
if bExport then
Add('export=true and ')
else
Add('export=false and ');
if bSupprime then
Add(' supprime=true')
else
Add(' supprime=false');
Add('ORDER BY DATEIMPORT DESC');
end;
try
ADOQueryResa.Open;
// Vide la liste
LVBox.Items.Clear;
// Parcours des réservation
If not ADOQueryResa.eof Then
begin
ADOQueryResa.First;
while ADOQueryResa.eof = false do
begin
NewItem := LVBox.Items.Add;
if ADOQueryResa.Fieldvalues['export'] = true then
NewItem.ImageIndex := 1
else
NewItem.ImageIndex := 3;
NewItem.Caption := ADOQueryResa.Fieldvalues['idresa'];
// Reçue le
NewItem.SubItems.Add(ADOQueryResa.Fieldvalues['dateimport']);
// Suivant
ADOQueryResa.Next;
end;
end;
ADOQueryResa.Close;