Mit Dynamischen SQL am besten.
Code:
vSQL = 'Select .... From ....';
// ... hier dann dein Statment entsprechend zusammenbasteln
vSQL = %Trim (vSql) + 'Where Feld1 = ''' + %Trim (Feld1) + '''';
Exec Sql Prepare Stm1 From :vSql;
Exec Sql Declare c1 Cursor For Stm1;
Exec Sql Open c1;
Wenn du mit Parameter arbeiten möchtest - welches die sauberere Variante ist sieht es dann so aus:
Code:
vSQL = 'Select .... From ....';
// ... hier dann dein Statment entsprechend zusammenbasteln
vSQL = %Trim (vSql) + 'Where Feld1 = ?';
Exec Sql Prepare Stm1 From :vSql;
Exec Sql Declare c1 Cursor For Stm1;
Exec Sql Open c1 Using :Parm1, :Parm2;
Oder:
Code:
Select * From Tab1
Where (Sp1 = :Feld1 Or :Feld1 = '')
And (Sp2 = :Feld2 Or :Feld2 = '')
Bookmarks