Locate oder where oder ganz was anderes
Locate oder where oder ganz was anderes
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"?
Re: Locate oder where oder ganz was anderes
Ein DBGrid macht das automatisch ohne eine Zeile Code zu schreiben. Google mal nach "Lazarus DBGrid Tutorial", da findest du sicher was.
Re: Locate oder where oder ganz was anderes
und die alle gleichzeitig in einem Grid? Wer soll die lesen?Ta152 hat geschrieben:rund 150000 abfragen
Also, was willst du mit den 150.000 Datensätzen wirklich machen?
hde
Re: Locate oder where oder ganz was anderes
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.
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.
Re: Locate oder where oder ganz was anderes
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
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