Mal ganz schnell zusammengetibbelt...
Delphi-Quellcode:
procedure sql(Spalten, Tabelle, wherebedingung, sortierspalten:
string);
begin
if (sortierspalten= '
')
then //Keine Sortierspalten-> keine Sortierung
begin
if (wherebedingung = '
')
then //Kein Where -> keine Filterung
sqltext := '
Select ' + spalten + '
from ' + tabelle
else
sqltext := '
Select ' + spalten + '
from ' + tabelle + '
where ' + wherebedingung;
end
else
begin
if (wherebedingung = '
')
then
sqltext := '
Select ' + spalten + '
from ' + tabelle + '
order by ' + sortierspalten
else
sqltext := '
Select ' + spalten + '
from ' + tabelle + '
where ' + wherebedingung + '
order by ' + sortierspalten;
end;
//Sqltext an zb IBSQL übergeben und ausführen
end;
Aufruf wäre zb:
sql('Spalte1,Spalte2','Tabelle','Spalte1=xxx','Spalte2,Spalte1');
Wie gesagt, nur schnell zusammengetibbelt... So würde ich anfangen, aber ist auf alle Fälle erweiterbar!
(Wer Fehler findet, darf sie behalten
)