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.
![:wink:](images/smiles/icon_wink.gif)
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; |