Zum Inhalt springen

Suchformular in c# mit Access Datenbank


onz

Empfohlene Beiträge

Hallo zusammen,

ich habe in C#ein Programm geschrieben, in dem es möglich ist Personenprofile anzulegen und in einer Accessdatenbank abzuspeichern. Jetzt habe ich versucht eine Suchseite für die Datenbank zu bauen. Das klappt auch mit einen Übergabeparameter ohne Probleme.

Dann habe ich eine "Erweiterte Suche" programmiert. Hier soll es möglich sein aus 4 Feldern eine Suche zu generieren. Es soll aber nicht zwingend Notwendig sein in alle 4 Felder etwas einzugeben und hier ist mein Problem. Falls alle 4 Felder ausgefüllt sind ist die Select Anweisung noch einfach. Dann verknüpfe ich alle Parameter in der Select Anweisung mit AND. Aber wie kann ich die anderen Fälle am elegantesten lösen.

Meine Idee ist bisher folgende, aber das kommt mir zu uneffizient vor:

z.B.: Feld1 und Feld 2 sind ausgefüllt. Zuerst prüfe ich alle Parameter ab ob diese ausgefüllt sind. Daraus erkenne ich das nur 2 Parameter Werte enthalten. Somit rufe ich eine Methode auf die diese 2 Parameter an eine Selectanweisung übergibt. Das gleiche mache ich für 1,2,3 und 4 Parameter.

Ich will eben vermeiden das leere Felder mit übergeben werden.

Dadurch das es aber 4 Felder sind, habe ich 4!=24 Möglichkeiten. Muss ich diese Möglichkeiten alle durch entsprechende if bzw. switch Abfragen abfangen oder geht das auch besser?

Vielleicht gibt es auch eine bessere Möglichkeit solche Suchanfragen zu gestalten. Ich wäre für jede Hilfe dankbar.

Gruß

Onz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

ich würde das Select dynamisch zusammenbauen...

Du rufst eine Methode auf, deren Signatur alle 4 Parameter enthält. Leere Werte übergibst Du mit NULL.

Dann Kannst du das SELECT zusammenbauen...

string s = "SELECT * FROM IRGENDWAS WHERE ID NOT NULL AND "

if(param1 != null){

s = s+ "irgendwas =" + param1 + "AND"

}

und so weiter...

Gruß Ron

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...