Mon problème :
- 1ère requête avec un paramètre exécutée avec un TSimpleDataSet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
SimpleDataSetLangueColis.DataSet.Close;
SimpleDataSetLangueColis.DataSet.CommandText := 'select * from UneTable ';
SimpleDataSetLangueColis.DataSet.CommandText := SimpleDataSetLangueColis.DataSet.CommandText + 'where UnChamp = :Param1 ';
try
   SimpleDataSetLangueColis.DataSet.ParamByName('Param1').AsInteger := StrToInt(LabeledEditNumCC.Text);
   SimpleDataSetLangueColis.Open;
except
   on E: Exception do
   begin
      ShowMessage(E.Message);
   end;
end;
- 2ème requête avec un paramètre (ou sans) exécutée avec le même TSimpleDataSet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
SimpleDataSetLangueColis.DataSet.Close;
SimpleDataSetLangueColis.DataSet.CommandText := 'select * from UneTable ';
SimpleDataSetLangueColis.DataSet.CommandText := SimpleDataSetLangueColis.DataSet.CommandText + 'where UnChamp = :Param1 ';
try
   SimpleDataSetLangueColis.DataSet.ParamByName('Param1').AsInteger := StrToInt(LabeledEditNumCC.Text);    // <-- ici la valeur du paramètre a changée.
   SimpleDataSetLangueColis.Open;
except
   on E: Exception do
   begin
      ShowMessage(E.Message);
   end;
end;
Après avoir exécuté la requête (la deuxième), la DBGrid affiche toujours le résultat de la première requête. Quoi qu'on fasse, le Open n'a aucun effet.

Ca ressemble beaucoup au problème que j'avais rencontré lors de mes tests de Delphi 2009 (http://www.developpez.net/forums/d65...cle-dbexpress/).

Une idée ?