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

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