Der Großteil meines Codes für den Zugriff auf einen Stored-Procedure-Datensatz (MS SQL Server, forward-only, readonly) ist ein Rückgriff auf meine Clipper-Programmierung von vor vielen Jahren
Bei der Überprüfung des Codes ist mir heute ein Verweis auf IsEmpty in einem ähnlichen Codeblock aufgefallen. Ist dies nur eine Vorliebe oder gibt es einen wirklichen Unterschied in dem Beispielszenario?
MyStoredProc.Open;
if not MyStoredProc.IsEmpty then
begin
DoSomething;
end;
In der Regel verwende ich
MyStoredProc.Open;
if not MyStoredProc.Eof then
begin
DoSomething;
end;
Vor allem, weil es die Praxis widerspiegelt, die ich in einer while-Schleife verwende, wenn es um mehr als einen Datensatz geht:
MyStoredProc.Open;
while not MyStoredProc.Eof then
begin
DoSomething;
MyStoredProc.Next;
end;