Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#6

AW: UniDac Select & Edit (Anfängerfrage)

  Alt 4. Dez 2013, 14:53
Hallo .sundance.,

stimmt, "index" ist ein reserviertes Wort, da hätte ich auch drauf kommen können

Warum sollte ein
Delphi-Quellcode:
uniQuery.SQL.Text := Format('update %s set spalte1 = %s,
spalte2 = %s, ... spalteN = %s WHERE hostname = %s
',[dbTable,wert1,wert2,...,wertN,QuotedString(ComputerName)]);
uniQuery.ExecSql;
komplizierte sein, als ein
Delphi-Quellcode:
    uniQuery.Edit;
    uniQuery.FieldByName('spalte1').AsString := wert1;
    uniQuery.FieldByName('spalte2').AsString := wert2;
     ...
    uniQuery.FieldByName('spalteN').AsString := wertN;
    uniQuery.Post;
?

Querys kann man parametrisieren, schau mal nach ParamByName...

Könnte dann in etwa so aussehen:
Delphi-Quellcode:
uniQuery.SQL.Text := Format('update %s set spalte1 = :spalte1,
spalte2 = :spalt2, ... spalteN = :spalteN WHERE hostname = %s
',[dbTable,QuotedString(ComputerName)]);
uniQuery.ParamByName('spalte1').AsString := wert1;
uniQuery.ParamByName('spalte2').AsString := wert2;
...
uniQuery.ParamByName('spalteN').AsString := wertN;
uniQuery.ExecSql;
Und auch hier ist dann nur ein schreibender Zugriff auf die Datenbank notwendig und nicht erst lesen und dann schreiben.
  Mit Zitat antworten Zitat