AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi bin am verzweifeln... select abfragen miteinander kombinieren???
Thema durchsuchen
Ansicht
Themen-Optionen

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

Offene Frage von "DeddyH"
Ein Thema von Serienchiller · begonnen am 15. Jun 2011 · letzter Beitrag vom 17. Jun 2011
 
Serienchiller

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

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

  Alt 15. Jun 2011, 10:51
Datenbank: firerbird • Version: 2.1 • Zugriff über: ??
hallo, ich bin neu hier. habe aber schon viel durch euer forum gelernt. ich bin seit 8 wochen praktikant in einer firma, die ausschließlich mit delphi arbeitet und habe vorher nur java gemacht. so musste ich mir das meiste was delphi und auch sql angeht selbst beibringen. meine aufgabe in der firma ist es, eine bilderdatenbank zu erstellen mit benutzeroberfläche, in der die firma ihre icons dann zentral verwalten kann. sie besteht aus den tabellen bilder, tags und programme. jedes bild kann also verschiedenen tags und verschiedenen programmen zugeordnet werden, was ich durch zwei zusätzliche zwischentabellen gelöst habe. soweit so gut...

nun habe ich heute mein programm vorgestellt und es wurde angemahnt, dass man die db entweder nach bildern, programmen oder tags durchsuchen kann, was ich mit radiobuttons implementiert hatte. folgendermaßen sah meine anzeigen prozedur dann aus:

Delphi-Quellcode:
procedure anzeigen(parameter, befehl: String);
begin
  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
    
// nach bild suchen

    if parameter = 'nthen
      dm.dsetbilder.SelectSQL.Add('select * from bilder b where upper(b.name)'+
        ' containing upper(:WERT) order by upper(b.name)');
    
// nach programm suchen

    if parameter = 'pthen
      dm.dsetbilder.SelectSQL.Add('select * from bilder b where b.bid in '+
        '(select b1.bid from BILDER b1 ' +
        'join zwbilderprogramme z on z.bildid = b1.bid join programme t '+
        'on t.pid = z.programmid ' +
        'where Upper(t.namep) containing UPPER(:WERT)) order by upper(b.name)');
    
// nach tag suchen

    if parameter = 'tthen
      dm.dsetbilder.SelectSQL.Add('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)) order by upper(b.name)');

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


das hat auch alles wunderbar funktioniert, bis mir mein chef heute sagte, ich solle die suche über checkboxen implementieren, so dass man z. b. gleichzeitig nach bild und tag suchen kann und nun bin ich mit meinem latein am ende...

weiß jemand wie man dieses problem lösen kann? wäre dankbar für jeden denkanstoß.

Geändert von mkinzler (15. Jun 2011 um 10:54 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz