Audi Geschrieben 28. Juni 2010 Geschrieben 28. Juni 2010 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.
lbm1305 Geschrieben 28. Juni 2010 Geschrieben 28. Juni 2010 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).
Guybrush Threepwood Geschrieben 28. Juni 2010 Geschrieben 28. Juni 2010 Na indem du die Daten entsprechend gruppierst. Entweder direkt per SQL beim abfragen aus der Datenbank oder wenn das aus irgendeinem Grund nicht sein soll dann halt per Code.
Audi Geschrieben 28. Juni 2010 Autor Geschrieben 28. Juni 2010 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.
lbm1305 Geschrieben 28. Juni 2010 Geschrieben 28. Juni 2010 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.
streffin Geschrieben 29. Juni 2010 Geschrieben 29. Juni 2010 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
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden