Guten Morgen...
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.
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)
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TBuchMain.qSchuelerSort(Sender: TObject); begin 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; end; Screen.Cursor := crDefault; end; |