Zitat:
Ist es eine Option das DataSet nicht freizugeben und das bestehende einfach zu aktualisieren?
Im
SQL laufen Berechnungen bezogen auf mehrere Tabellen abhänging von
äußeren Parametern. (Kundenpreise entsprechend des Rechnungsnehmers) Mit Refresh kann ich die Parameter nicht tauschen...oder ich weiß es noch nicht.
Vorgabe:
SQL nicht in der
Query gespeichert. Ich probiere es mal aus die
Query nicht neu zu erzeugen, sondern das
SQL mit anderen Parametern anzupassen.
Danke...
Also mit UniDAC kann ich einfach bei einem bereits geöffneten
Query die Parameter neu setzen und dann Refresh aufrufen.
Hier mal ein Beispiel
Weiß nicht ob du das brauchst mit dem positionieren (locate), das habe ich in meinem Fall nur drin weil ich dort in eine andere Ansicht springe und die IDs gleich bleiben und ich mich somit wieder auf die alte Position stelle.
Delphi-Quellcode:
var
lID: Integer;
begin
<
Query>.DisableControls;
try
lID := <
Query>.FieldByName( '
ID').AsInteger;
<
Query>.ParamByName('
PARAM').AsInteger := <NewValue>;
<
Query>.Refresh;
<
Query>.Locate( '
ID', lID, []);
finally
<
Query>.EnableControls;
end;
end;