| |

Fortgeschrittene ProgrammierungRe: 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. |  |
 | 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 |
  |
|
Neu! sevEingabe 3.0 
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
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
|
|