Zum Inhalt springen

keine doppelten Artikel anzeigen C#


Empfohlene Beiträge

Geschrieben

Hallo,

hoffe ihr könnt mir helfen.

Ich habe ein funktionierendes Programm, in dem man nach Artikeln im Lager suchen kann, nun ist das Problem, dass als Ergebnis Artikel mehrfach ausgegeben werden, weil sie z.B von anderen Lieferanten sind.

Dies soll mit einer CheckBox und einer Funktion behoben werden, so ist es variabel.

Wie kann man da am besten vorgehen?

Kurze Programmeinführung:

Suchkreterium wird in eine TextBox eingegeben, es wird in einer DataTable gesucht, die Ergebnisse der Suche werden in einer DataGridView angezeigt.

Muster:

Artikelnummer; Beschreibung; Lagerort; Lieferant; Preis; usw.

Geschrieben

Das Problem an sich liegt nicht bei der Programmiersprache, sondern im Abfrage Query. Da Du nicht verrätst, wie Du die Daten aus der Datenbank? holst, wird es ziemlich schwierig sein, Dein Problem zu analysieren.

Ansonsten hilft Distinct (in SQL sowie als Erweiterungsmethode bei LINQ).

Geschrieben

Danke euch!

Die Lösung mit SQL geht in meinem Fall schlecht, da ich blitzschnell Suchergebnisse brauche, mit SQL alleine war es langsam :schlaf:

Beim Programmstart werden Daten aus der DB in eine DataTable importiert, dann kann man in diesen Ergebnissen nochmal suchen, die Suche wiederrum läuft im Speicher ab. Die Ergebnisse aus der Suche landen dann in der DataGridView.

Hab die Lösung :)

Ich habe einen Vergleich (Filter) gebaut habe, der die doppelten Suchergebnisse beim activieren der CheckBox einfach nicht durchlässt.

Geschrieben

Die Lösung mit SQL geht in meinem Fall schlecht, da ich blitzschnell Suchergebnisse brauche, mit SQL alleine war es langsam :schlaf:

Dann läuft irgendwas schief. Den SQL-Code als Stored Procedure auf dem Server hinterlegen bringt schon immens etwas. Dann kommt es auch auf Deine Abfrage drauf an. SubSelects sind Performance-Killer. Die komplette Datenbank im Speicher halten finde ich nicht sehr elegant. :rolleyes:

Geschrieben

Das ist was das solltest du wirklich direkt im SQL Query machen.

Um da näher was zu zu sagen musst du mal dein SQL posten, aber es kann fast nicht sein dass du performance technisch da keine Vorteile bei rausholst. Davon abgesehen dass dein Problem sich auch gleich mit in Luft auflöst.

Du musst bedenken, SELECT * gibt dir dann auch den ganzen nicht benötigten kram. Das gibt Traffic, und beschäftigt auch die Datenbank. Solang deine DB nicht auf nem Taschenrechner läuft kann das kein Flaschenhals werden wenn du da nen anständiges Query schreibst.

Gruß

Sven

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...