Registriert seit: 19. Jul 2004
Ort: Burgdorf
197 Beiträge
Delphi XE8 Enterprise
|
Auf einen Datensatz in einem Resultset positionieren (Locate)
1. Aug 2019, 16:46
Delphi-Version: 7
Hallo,
ich nutze Delphi, der Datenzugriff geht über SQLDircet auf eine MS SQLServer.
Ich nutze schon eine Weile TSDQuery.Locate, aber es ist mir jetzt klar geworden, dass die Suchkriterien im VarArray-Parameter nicht um den Typ scheren.
Ich suche in einer Adress-Tabelle z.B. über Name, dazu nutze ich eine Select-Anweisung. Aus der Treffermenge kann der Anwender einen Datensatz anklicken auf den ich dann mit Locate in meine Haupt-Resultset (eigentliche alle der Tabelle) um auf den gesuchten DS zu positionieren.
Hier verwende ich natürlich den PI eine ID vom Typ Integer.
Aber da die Datenmenge für die Anwender sinnvollerweise nach Name sortiert ist, steht z.B. die ID 749 vor der ID 74 und Locate scheint das Integer-Feld wie ein Char-Feld zu behandeln und gibt mir schon bei entspr. 749 als Treffer zurück.
Kann ich Locate irgendwie sagen, das ich da in einem Integer-Feld suche und 749 nicht gleich 74 ist?
Oder gibt es eine andere Methode innerhalb eines Resultset auf einen Datensatz zu positionieren?
Früher bei TTable habe ich FindKey benutzt, aber inzwischen ist alles TQuery bzw. TSDQuery.
Vielen Dank für eure Hilfe im Voraus.
Micha
Micha Ich habe fertig!
DP - hier werden Sie geholfen!
|