Hallo,
also ich bin eigentlich ein Verfechter des
with in Zusammenhang mit Queries,
weil es einfach so schön einfach ist.
Delphi-Quellcode:
var
Q: TQuery;
..
with Q
do
begin
SQL.Clear;
SQL.Add()
Open;
end;
Close;
Aber gerade für Anfänger ist das sehr schwer (Stichwort Debugging, wie oben schon geschrieben wurde).
Such-Rätsel:
Wer findet den obigen Fehler ?
PS: Der war wirklich so in einem (Anfänger-) Code ...
Frage ernst gemeint?
Abfrage öffnen und Programm beenden
Man wird das Ergebnis halt nie zu Gesicht bekommen, aber das das
SQL leer ist, ist das weiter nicht schlimm
@All
Und ja: Mit With arbeiten spart Schreibarbeit.
Und ja: Für die Fehlersuche braucht man entsprechend länger (oft viel länger, als die eingesparte Schreibarbeit).
Bei with muss man sehr genau wissen, welche "Querschläger" es geben kann und diese alle ausschließen.
Das ist fast unmöglich, also ist die zusätzliche, angeblich vermeidbare "Schreibmehrarbeit", nur in sehr seltenen Fällen eine wirkliche Ersparnis.
Oft ist es sinnvoller, auf with zu verzichten (wer konsequent immer drauf verzichtet, macht nix falsch). Das, was man zusätzlich schreiben muss, ist immer identisch und kann per Copy&Paste jeweils mit sehr wenig Schreibarbeit (eimal Strg+C und dann Strg+V) wiederholt eingefügt werden.
Meine Erfahrung mit with ist eigentlich: Insbesondere in fremden Code kann es sehr verwirrend sein, wenn der verbleibende Quelltext zwar kompilierbar und sogar korrekt ausführbar ist, aber Zusammenhänge nicht mehr zwingend erkennbar sind.