cds1.Close; q1.SQL.Text := 'SELECT * FROM COUNTRY WHERE COUNTRY LIKE :COUNTRY'; q1.Params.ParamByName('COUNTRY').AsString := eCountry.Text+'%'; cds1.Open;
you will find that the data in cds1 never updates. IOW, if you first pass an 'A', and then pass an 'F', the data will always return as if you are passing the 'A' param.
I used Jeff's test-case and did some debugging and found a work-around, and I believe, the true solution. The work-around is to just call cds1.Params.Clear after cds1.Close. The solution is that TDatsetProvider is returning ptInput Params improperly in DoGetRecords. For all of the gory details, see QC 22335. Hopefully this gets resolved in Update 2.
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.