Hallo zusammen
Bis jetzt habe ich immer so in einer Tabelle überprüft ob ein bestimmter Satz vorhanden ist.
Delphi-Quellcode:
var
aBad, aBad2:TBetterADODataSet;
...
try
aBad2:=TBetterADODataSet.Create(Self);
with aBad2 do
begin
Connection:=acn;
CommandText:='select * from KompOptionen where ArtNr='+QuotedStr(aArtikelFurOption)+
' and RelArtNr='+QuotedStr(pArtNr);
Active:=True;
if recordcount>=1 then
begin
//machwas
end
Close;
end;//with Bad2 do
finally
aBad2.Free;
end;//Try Bad2
...
da mir die viele codetipselei und ausserdem der notwendige Textblock echt auf den Zeiger ging habe ich mir eine andere Lösung überlegt die mit weniger geschreibe auskommt und kam auf das.
Delphi-Quellcode:
var
sSQL : String;
olev : Olevariant;
aSet : _Recordset;
...
sSql:=Format('Select * from VarianteZuPos where VariantenGruppe=(%s)',
[QuotedStr(Caption)]);
aSet:=Form1.acn.ConnectionObject.Execute(sSql,olev,0);
if aSet.RecordCount < 1 then
begin
//Mach was ...
end;
aSet.Close;
...
Nun meine Fragen
(Habe in
Oh auch in
Dp und gegoogelt aber nirgends antworten gefunden)
was haltet ihr generell davon
ist das stabil
wenn man den Typ _Recordset verfolgt erkennt man das irgend ein Interface dahintersteckt und kein Pascal Objekt wie schliesst man diese Resource wieder reicht da die close methode des recordsets oder wird da doch ein objekt erzeugt dass wieder freigegeben werden muss.
Kennt Ihr eine andere noch effektivere Methode auf das Vorhandenseins eines bestimmten Satzes zu prüfen?
Bin dankkbar für jede Meinung