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 ?
![]()








Répondre avec citation










), tu as le composant TSimpleDataSet qui regroupe les trois composants en un seul. Le TSimpleDataSet est un ClientDataSet qui crée automatiquement son provider et son dataset.
Partager