Einzelnen Beitrag anzeigen

Serienchiller

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

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

  Alt 17. Jun 2011, 08:29
so jetzt hab ich doch noch ein problem. und zwar zeigt er mir seit heute früh für jede verbindung die in der zwischentabelle steht, jeden ds einmal an. also habe ich jetzt teilweise 4 oder bis zu 8 mal die selben bilder untereinander stehen. gestern nachmittag war das irgendwie nicht so...

hier meine anzeigen prozedur zum jetzigen zeitpunkt:

Delphi-Quellcode:
procedure anzeigen(befehl: String);
var
  schon: boolean;
begin
  schon:= false;
  dm.dsetbilder.Close;
  dm.dsetbilder.SelectSQL.Clear;
  dm.dsetbilder.SelectSQL.Add('select * from bilder b left join '+
        'zwbildertags x on x.bildid=b.bid left join tags t '+
        'on t.tid=x.tagid left join '+
        'zwbilderprogramme z on z.bildid=b.bid left join programme p '+
        'on p.pid=z.programmid ');
  if frmhaupt.CheckBox1.Checked then // bild
  begin
    dm.dsetbilder.SelectSQL.Add('where b.name containing upper(:WERT) ');
    schon:= true;
  end;
  if frmhaupt.CheckBox2.Checked then // programm
  begin
    if schon then dm.dsetbilder.SelectSQL.Add('or Upper(p.namep) '+
      'containing UPPER(:WERT) ')
    else dm.dsetbilder.SelectSQL.Add('where Upper(p.namep) '+
      'containing UPPER(:WERT) ');
    schon:= true;
  end;
  if frmhaupt.CheckBox3.Checked then // tag
  begin
    if schon then dm.dsetbilder.SelectSQL.Add('or Upper(t.namet) '+
      'containing UPPER(:WERT) ')
    else dm.dsetbilder.SelectSQL.Add('where Upper(t.namet) '+
      'containing UPPER(:WERT) ');
    schon:= true;
  end;
  if befehl <> 'alleanzeigenthen
    dm.dsetbilder.ParamByName('WERT').AsString := befehl;

  dm.dsetbilder.Open;
  if dm.dsetbilder.IsEmpty then showmessage('Keine Icons gefunden');
end;
  Mit Zitat antworten Zitat