Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Suchformular in c# mit Access Datenbank

Empfohlene Antworten

Veröffentlicht

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

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

Hallo Ron,

danke für die schnelle Antwort. Hat wunderbar funktioniert. Ich bin einfach nicht auf "ID IS NOT NULL" gekommen. Manchmal sieht man eben den Wald vor lauter Bäumen nicht :)

Gruß

Onz

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.