Einzelnen Beitrag anzeigen

Serienchiller

Registriert seit: 15. Jun 2011
Ort: Wurzen
40 Beiträge
 
Delphi 7 Professional
 
#8

AW: bin am verzweifeln... select abfragen miteinander kombinieren???

  Alt 15. Jun 2011, 12:53
so vielen dank erstmal an alle. wollte jetzt das von deddyh ausprobieren doch spätestens wenn ich das zweite kästchen anclicke bekomme ich die fehlermeldung:

dynamic sql error code = -104
as approximate floating-point values in sql dialect1, but as 64-bit.

weiß jemand was das bedeutet?

hab ich das jetzt richtig eingebaut?
Delphi-Quellcode:
[CODE]
procedure anzeigen(n,p,t: boolean; befehl: String);
var
  bid2: String;
  haswhere: boolean;
  const ClauseBegins: array[Boolean] of string = ('WHERE', 'OR');
begin
  bid2:= bid;
  dm.dsetbilder.Close;
  dm.dsetbilder.SelectSQL.Clear;
  if befehl = 'alleanzeigenthen
  begin
    dm.dsetbilder.SelectSQL.Add('select * from bilder b order '+
      'by upper(b.name)');
  end
  else
  begin
    haswhere:= false;
    dm.dsetbilder.SelectSQL.Text:= 'SELECT * FROM Bilder b ';
    if n then
    begin
      dm.dsetbilder.SelectSQL.Add(Format('%s name containing upper(:WERT)',
        [ClauseBegins[HasWhere]]));
      HasWhere := true;
    end;
    if p then
      dm.dsetbilder.SelectSQL.Add(Format(' %s (select * from bilder c where c.bid in '+
        '(select c1.bid from BILDER c1 ' +
        'join zwbilderprogramme z on z.bildid = c1.bid join programme t '+
        'on t.pid = z.programmid ' +
        'where Upper(t.namep) containing UPPER(:WERT)))',
        [ClauseBegins[HasWhere]]));
        HasWhere := true;
    if t then
      dm.dsetbilder.SelectSQL.Add(Format(' %s (select * from bilder b where b.bid in '+
        '(select b1.bid from BILDER b1 ' +
        'join zwbildertags z on z.bildid = b1.bid join tags t on t.tid = z.tagid '+
        'where Upper(t.namet) containing UPPER(:WERT)))',
        [ClauseBegins[HasWhere]]));

    dm.dsetbilder.ParamByName('WERT').AsString := befehl;
  end;
  dm.dsetbilder.Open;
  dm.dsetbilder.Locate('bid',bid2,[]);
  showmessage(dm.dsetbilder.SelectSQL.Text);
  if dm.dsetbilder.IsEmpty then showmessage('Keine Icons gefunden');
end;

Geändert von Serienchiller (15. Jun 2011 um 13:24 Uhr)
  Mit Zitat antworten Zitat