[D2010] Utilisation de paramètres dans une requête SQL Oracle avec DBExpress
Mon problème :
- 1ère requête avec un paramètre exécutée avec un TSimpleDataSet :
Code:
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:
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. :koi:
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 ?
:hola: