Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#8

AW: Insert-Statement nicht verstanden

  Alt 7. Dez 2021, 03:36
Hier war einfach nur wer schreibfaul, oder wollte Speicher sparen, und es geht natürlich auch länger:
Delphi-Quellcode:
Query1.SQL.Text := 'INSERT INTO Categories (CategoryName, Description, Picture) VALUES (:CategoryName, :Description, :Picture)';
Query1.ParamByName['CategoryName'].AsString := 'New category';
Query1.ParamByName['Description'].AsString := 'New description';
Query1.ParamByName['Picture'].AsInteger := $0334;
Query1.Execute;
Und da die Parameternamen grundsätzlich egal sind:
Delphi-Quellcode:
Query1.SQL.Text := 'INSERT INTO Categories (CategoryName, Description, Picture) VALUES (:mvsdnjkfdsa, :gbvös, :jmnfkeads)';
Query1.ParamByName['mvsdnjkfdsa'].AsString := 'New category';
Query1.ParamByName['gbvös'].AsString := 'New description';
Query1.ParamByName['jmnfkeads'].AsInteger := $0334;
Query1.Execute;
Es gibt auch Statements/DBMS/Datenbankkompoenten, die garkeine Namen nutzen, sondern nur durchnummerieren, wie z.B.
Delphi-Quellcode:
Query1.SQL.Text := 'INSERT INTO Categories (CategoryName, Description, Picture) VALUES ($0, $1, $2)';
Query1.Params[0].AsString := 'New category';
Query1.Params[1].AsString := 'New description';
Query1.Params[2].AsInteger := $0334;
Query1.Execute;
Wobei das .Params[123] natürlich auch bei den oberen Varianten im Programm genutzt werden kann.


Bei deinem Beispiel werden die Namen auch nicht verwendet, sondern einfach mit dem Array ['New category', 'New description', $0334] nacheinander die Parameter gefüllt werden, egal wie sie heißen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 7. Dez 2021 um 03:43 Uhr)
  Mit Zitat antworten Zitat