Entwickler-Ecke
Datenbanken - Query-Problem
D. Annies - So 28.06.09 14:52
Titel: Query-Problem
Hi, Delpher,
ich brauche mal Hilfe bei dem folgenden Query-Befehl, er ist noch fehlerhaft:
Delphi-Quelltext
1: 2: 3: 4:
| query1.SQL.Text := format('select geschlecht, punkte, klasse, name, vorname from "%s" S ' + 'where S.klasse like quotedstr(form1.ListBox1.Items[form1.ListBox1.itemindex][1]) ' + 'order by S.geschlecht, S.punkte, S.klasse, S.name, S.vorname', [Table1.tablename]); |
Wie ist es richtig?
Gruß, Detlef
Martok - So 28.06.09 15:01
Willst du jetzt "richtig" oder "funktioniert"?
Ersteres wären Prepared Statements mit Variablen, letzteres wäre das:
Delphi-Quelltext
1: 2: 3: 4: 5:
| query1.SQL.Text := format('select geschlecht, punkte, klasse, name, vorname from "%s" S ' + 'where S.klasse like ''%s'' ' + 'order by S.geschlecht, S.punkte, S.klasse, S.name, S.vorname', [Table1.tablename, quotedstr(form1.ListBox1.Items[form1.ListBox1.itemindex][1])]); |
D. Annies - So 28.06.09 15:20
Danke für deine schnelle Antwort, aber leider Fehlermeldung:
Ungültiges Schlüsselwort in Zeile 1 Symbolstring 7''
wenn ich Klasse 7, also 7a bis 7e prüfen will.
mkinzler - So 28.06.09 15:35
Ich würde das per (SQl-)Parameter lösen:
Delphi-Quelltext
1: 2: 3: 4: 5:
| query1.SQL.Text := format('select geschlecht, punkte, klasse, name, vorname from %s S ' + 'where S.klasse like :klasse' + 'order by S.geschlecht, S.punkte, S.klasse, S.name, S.vorname', [Table1.tablename]); Query1.ParamByName('klasse').Value := form1.ListBox1.Items[form1.ListBox1.itemindex][1]; |
D. Annies - So 28.06.09 16:17
Hi, Marcus,
tatsächlich muss oben .. from "%s" S ... stehen -
und jetzt muss ich noch rauskriegen, wieso in der query 0 Datensätze stehen.
Danke erstmal.
Gruß, Detlef
D. Annies - So 28.06.09 16:53
Gelöst:
Hinter dem Parambyname ... muss noch + '%' als Joker stehen, damit alle Parallelklassen bearbeitet werden! JuHu,
Detlef
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!