Find-Syntax...hilfe...
-
Hi Leute...
also mich würde mal interessieren wie ich mit find,locate usw richtig umgehe!
Also in Syntax eingebe:Ein Beispiel: Hab Tabelle mit Personen und will nur Namen suchen!
Wie funktioniert das damit! (Keine normalen selects, das bring ich)!Danke schonmal...
-
Hallo
besser ist - trenn dich von solchen Sachen - verwende SQL
Mfd
Klaus
-
also bei selects bleiben?
Wäre für ein Beispiel trotzdem dankbar...
TauFrisch
-
Vorab: Grundsätzlich gebe ich KlausB recht. Soweit möglich sollte alles direkt mit SQL erledigt werden.
Der Einsatz von Locate kann schon sinnvoll sein, wenn man z.B. nach irgendeiner Aktion eine Query wieder öffnet und man wieder auf den letzten aktiven Datensatz positionieren will. Ich bin mir allerdings nicht sicher, ob Locate mit allen Datenbanken / Zugriffskomponenten funktioniert.
TLocateOptions Opts; Opts.Clear(); Variant locvalues[5]; // die zu suchenden Feldwerte locvalues[0] = Variant(CurFANr); locvalues[1] = Variant(CurKAufNr); locvalues[2] = Variant(CurKAufPos); locvalues[3] = Variant(CurKAufUPos); locvalues[4] = Variant(CurUeFANr); if (qfaview->Active && qfaview->RecordCount > 1) // bei keinem oder nur einem sichtbaren Datensatz braucht nicht positioniert zu werden { if (!qfaview->Locate("fanr;kaufnr;kaufpos;kaufupos;uefanr", VarArrayOf(locvalues, 4), Opts)) { // Datensatz nicht (oder nicht mehr) vorhanden } else { // Datensatz gefunden und Query positioniert auf Datensatz } }Ich verstehe nicht, was Du mit Find meinst (FindFirst / FindNext)?
-
ja genau, FindFirst etc...würde ich gern mal nen Beispiel sehen...
Danke schonmal

-
q->Prepare(); q->Open(); if (q->FindFirst()) { do { // irgendetwas mit jedem Datensatz machen } while (q->FindNext()); } if (q->Active) q->Close(); if (q->Prepared) q->UnPrepare();Wobei die Methode while (!q->EOF)... q->Next() zu bevorzugen ist.
Insbesondere bei Verwendung der TADOxxx-Komponenten funktioniert FindFirst / FindNext nicht zuverlässig!
-
Danke, werde das trotzdem mal austesten...danke!
Wenn was nich geht, schreib ich wieder...
!!