vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Doppeleintragungen sortieren 
Autor: Preisser
Datum: 14.10.10 12:05

Hi,
ja, das ist schon klar. Allerdings hab ich auch schon ASP-Seiten gesehen, die bei einem Login eine Abfrage wie
"SELECT * FROM Benutzer WHERE Benutzername = '" & request("username") & "'".
verwenden, und das ohne Überprüfung (Folge: User-/Adminrechte, ohne das Passwort wissen zu müssen, durch geschickte Wahl des Usernamens).
Deshalb sollte man SQL-Neulinge nicht unbedingt zu sowas verleiten.

Aber mal zurück zum Thema: Nich timmer ist gleich eine Datenbank notwendig, z.B. wenn man solche Datensätze nur temporär braucht bzw. schnell verarbeiten will. Um nun schnell Duplikate zu finden, sollte man ja auch die Datensätze nach einem bestimmten Sortierkriterium anordnen und zum Suchen die binäre Suche verwenden, anstatt jedes Element zu durchlaufen und auf Gleichheit zu prüfen. Das wird die Laufzeit erheblich (von O(n) auf O(log n) bei n Datensätzen) reduzieren.

Wenn man diese in einem Array speichert, sollte man außerdem nicht das Array immer um 1 Element vergrößern, sondern z.b. in 100er-Schritten, da ansonsten bei jeder Vergrößerung der komplette Arrayinhalt kopiert werden muss (bei .Net gibt es List-Klassen, die das wohl automatisch erledigen).

Da in VB6 eine UDT-Struktur leider kein Objekt ist und man deshalb keine Referenzen speichern kann, wäre es außerdem ein erheblicher Geschwindigkeitsvorteil, eine Indirektion beim Arrayzugriff zu verwenden: also ein Long-Array, in dem Arrayindizes auf das UDT-Array gespeichert sind, um die Arrayinhalte schnell verschieben zu können (wenn man was einfügen will), da darudch immer nur der 4-Byte lange Index verschoben werden muss, anstatt die komplette Struktur + die darin gespeicherten Strings.

Beitrag wurde zuletzt am 14.10.10 um 12:16:14 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Doppeleintragungen sortieren2.502dj.tommy11.10.10 20:21
Re: Doppeleintragungen sortieren1.763Blackbox11.10.10 20:26
Re: Doppeleintragungen sortieren1.767dj.tommy11.10.10 20:42
Re: Doppeleintragungen sortieren1.765Blackbox11.10.10 20:52
Re: Doppeleintragungen sortieren1.737dj.tommy11.10.10 21:45
Re: Doppeleintragungen sortieren1.737Franki12.10.10 02:08
Re: Doppeleintragungen sortieren1.896dj.tommy12.10.10 13:55
Re: Doppeleintragungen sortieren1.734Dirk12.10.10 17:14
Re: Doppeleintragungen sortieren1.730Blackbox12.10.10 18:31
Re: Doppeleintragungen sortieren1.718Franki13.10.10 02:39
Re: Doppeleintragungen sortieren1.737Franki13.10.10 02:34
Re: Doppeleintragungen sortieren1.809Preisser13.10.10 12:39
Re: Doppeleintragungen sortieren1.742Franki14.10.10 05:08
Re: Doppeleintragungen sortieren1.767Preisser14.10.10 12:05
Re: Doppeleintragungen sortieren1.708Preisser14.10.10 17:27
Re: Doppeleintragungen sortieren1.721dj.tommy18.10.10 18:36
Re: Doppeleintragungen sortieren1.794Preisser19.10.10 17:38
Re: Doppeleintragungen sortieren1.695dj.tommy19.10.10 17:49
Re: Doppeleintragungen sortieren1.776wb-soft11.10.10 21:22

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel