Locate oder where oder ganz was anderes

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Ta152
Beiträge: 10
Registriert: Mi 13. Feb 2013, 11:58

Locate oder where oder ganz was anderes

Beitrag von Ta152 »

Ich brächte mal einen Tipp was die beste Lösung ist. Ich habe ein Stringgrid und eine SQL Datenbank (Datenbank via Netzwerk, TMSSQLCONNECTOR). Jetzt muss ich die zu jeder Zeile im Stringgrid einen Wert in der SQL Datenbank nachschlagen. Ich kann jetzt entweder rund 150000 abfragen mit jeweils einen Wert machen (mit where eingrenzen), oder alle Daten in eins abfragen und dann mittels Locate (dann müste die Suche lokal laufen, oder?). Aber über Locate lese ich irgendwie nix gutes. Wie handhabt man sowas "Best Practice"?

wp_xyz
Beiträge: 5163
Registriert: Fr 8. Apr 2011, 09:01

Re: Locate oder where oder ganz was anderes

Beitrag von wp_xyz »

Ein DBGrid macht das automatisch ohne eine Zeile Code zu schreiben. Google mal nach "Lazarus DBGrid Tutorial", da findest du sicher was.

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: Locate oder where oder ganz was anderes

Beitrag von hde »

Ta152 hat geschrieben:rund 150000 abfragen
und die alle gleichzeitig in einem Grid? Wer soll die lesen?

Also, was willst du mit den 150.000 Datensätzen wirklich machen?

hde

Ta152
Beiträge: 10
Registriert: Mi 13. Feb 2013, 11:58

Re: Locate oder where oder ganz was anderes

Beitrag von Ta152 »

Sorry für die lahme Rückantwort. War mit anderen sachen beschäftigt.

Ja, vermutlich ist ein Grid das falsche, sah für mich aber auf den ersten blick am bequemsten aus...

Wie kommt die anzahl der Abfagen zu stande? Ganz einfach. Ich habe zwei Tabellen die Artikeldaten enthalten. Tabelle eins hat knapp unter 100000 Artikel/Zeilen, die ist einfach, gibt auch einen klaren Schlüssel (Kombination zweier Felder). In der anderen Datenbank sieht es anders aus. Im ersten schritt will ich feststellen ob die Artikel in der zweiten Datenbank drin sind. Dort sind die Artikel allerdings anders organisiert so das ich pro Artikel 1 bis 2 abfragen benötige um an die Nummer zu kommen die ich als Schlüssel zu Datenbank eins verwenden kann oder eben ich gebe alle nummer aus (dann sind es nur zwei abfragen) und sortiere dann lokal den werten aus Datenbank eins zu.

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: Locate oder where oder ganz was anderes

Beitrag von hde »

Sorry, aber den Sinn hab ich nicht wirklich verstanden. Was willst du erreichen? Einen neuen Key erstellen? Etwas Updaten? Und wie sind die Schlüssel?
150.000 Datensätze komplett einzulesen um sie sequentiell abzuarbeiten ist selten eine gute Idee.Ich nutze SQL um dem (hoffentlich) schnellen Server das Sortieren und Abfragen zu überlassen und das Netz nicht zu belasten.
Vielleicht erklärst du dein Vorhaben noch mal?
hde

Antworten