Bonjour,

J'ai un problème avec ADO.

J'ai une boucle While qui contient une requête :

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
 
while (Flag) or (Count<=22) do
begin    
 
[...]
 
   With qSelectManufacturers do begin
        Close;
        Connection:=ADOConnection1;
        CursorLocation:= clUseClient;
        LockType:= ltOptimistic;
        CursorType:= ctStatic;
        SQL.Clear;
        SQL.Add('Select * FROM manufacturers WHERE manufacturers_name = :MANU');
        Parameters.ParamValues['MANU']:= StringReplace(Msg[2],'"','',[rfReplaceAll]);
        Open;
   end;
end;
 
[...]
Quand je passe la 2ème fois dans la boucle ca me fait une "Erreur non spécifiée". J'ai aussi testé avec Active mais bon, j'ai cru lire sur ce forum que c'était exactement pareil

J'ai essayé avec un Requery également :

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
 
      With qSelectManufacturers do begin
        Connection:=ADOConnection1;
        CursorLocation:= clUseClient;
        LockType:= ltOptimistic;
        CursorType:= ctStatic;
        SQL.Clear;
        SQL.Add('Select * FROM manufacturers WHERE manufacturers_name = :MANU');
        Parameters.ParamValues['MANU']:= StringReplace(Msg[2],'"','',[rfReplaceAll]);
 
        if dejapasse then
        begin
          Requery();
        end else
        begin
          Open;
          dejapasse:=true;
        end;
      end;
la var "dejapasse" est un bool que j'initialise a false pour faire un Requery dès le 2ème passage dans ma boucle

Et la, je fais 3-4 passage puis j'ai une erreur qui me dit

Runtime Error
Program : T:\Projets\import\import.exe

R6025
- pure virtual function call
Je me disais que cela pourrais avoir un rapport avec le serveur qui n'arriverait pas a suivre mais bon, ca me le fais même en Pas-à-pas. Je pense plutot que c'est moi qui ai mal codé mon truc

Voila j'espère que qqn saura m'aider car je suis vraiment bloqué.

Merci d'avance