Autor Beitrag
haentschman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 285
Erhaltene Danke: 33


DX10 Berlin Professional
BeitragVerfasst: Sa 01.02.14 09:54 
Guten Morgen... 8)
Zitat:
Ich frag mich grad warum so kompliziert. Ich baue meine SQL-Anfragen immer so zusammen:

Auch der von mir gepostete Code ist, sagen wir mal, nicht das gelbe vom Ei. :wink: Eine SQL Anweisung, ob jetzt in deinem Format oder mit der Formatanweisung, ist sicherheitstechnisch bedenklich wenn Daten integriert sind. Stichwort: SQL Injection.
Besser wäre es dann mit Parametern zu arbeiten. Beispiel anhand des obigen Codes: (Syntax kann von Zugriffskomponente zu Zugriffskomponente unterschiedlich sein)
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TBuchMain.qSchuelerSort(Sender: TObject);
begin                                      // IDENT_NR, NAME, VORNAME, KLASSE, GESCHLECHT,
                                           // GEBDAT, TELEFON, EMPFEHLUNG, FSPRACHE1, WPK1NAME
  SortKrit := ' KLASSE, IDENT_NR, NAME, VORNAME ';
  WhereKrit := 'Ich';
  Screen.Cursor := crHourGlass;
  if FileExists(Label30.Caption + ExtractFilename(TbSchueler.Tablename)) then
  begin
    QSchueler.Sql.Text := Format('select * from %s where Name = :N order by %s', [TbSchueler.Tablename, SortKrit]);
    QSchueler.ParamByName('N').AsString := WhereKrit;
    QSchueler.Open;
    Datasource1.Dataset := QSchueler; //kann man auch im OI zuweisen
  end;
  Screen.Cursor := crDefault;
end;
vagtler
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 96
Erhaltene Danke: 24


Delphi 2010, C# (VS 2012), Objective-C, Java
BeitragVerfasst: Sa 01.02.14 12:59 
Und auch das wäre nur die halbe Miete, wenn der Benutzer irgendwie die Sortierkriterien manuell beeinflussen könnte.

xkcd.com/327/
haentschman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 285
Erhaltene Danke: 33


DX10 Berlin Professional
BeitragVerfasst: Sa 01.02.14 13:28 
Zitat:
Und auch das wäre nur die halbe Miete

...wer seinen Benutzern den direkten Zugriff auf den SQL String, und wenn es nur über einen Sortierstring ist, gibt ist selbst schuld. :roll: