Mon problème :
- 1ère requête avec un paramètre exécutée avec un TSimpleDataSet :
- 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); 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.
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;
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 ?
Partager