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. Zitieren
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). Zitieren
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. Zitieren
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. Zitieren
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. Zitieren
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 Zitieren
Empfohlene Beiträge
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.