Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datensatznr. des Satzes welchem der Zeiger gerade liegt? (https://www.delphipraxis.net/112493-datensatznr-des-satzes-welchem-der-zeiger-gerade-liegt.html)

shmia 24. Apr 2008 10:28

Re: Datensatznr. des Satzes welchem der Zeiger gerade liegt?
 
Also, bei relationalen Datenbanken hat der RecNo keinerlei Bedeutung.
Bei alten Desktop "Datenbanken" wie z.B. DBase war das noch anderst. Dort war der RecNo identisch mit der physikalischen Position der Daten in der DBase Datei.
Es hängt also von der unterliegenden Datenbank und den DB-Zugriffskomponenten ab, ob RecNo überhaupt geliefert wird oder immer -1 ist.
Wozu brauchst du den RecNo überhaupt ?

QuickAndDirty 24. Apr 2008 10:34

Re: Datensatznr. des Satzes welchem der Zeiger gerade liegt?
 
Es gibt Datenmengen z.b. Querys die kein RECNO unterstützen und auch einige Datanbanken (z.b. Elevatedb)die das nicht bei Tables unterstützen.
Es ist extrem Aufwendig diese Recno zu ermitteln je nach Range und Key dann haben Appends und deletes auch noch einen Einfluss.

Ich stehe vor einem Ähnlichen problem weil ich die Recno mitzähle(counter) blos nach findkey ist nichts mehr mit mitzählen.

s-off 24. Apr 2008 10:34

Re: Datensatznr. des Satzes welchem der Zeiger gerade liegt?
 
Zitat:

Zitat von Poelser
Ich weiß jetzt nicht, ob ADS das unterstützt, bei Sybase geht sowas mit

select number(*), * from MeineTabelle;

Es ist aber nur ein simples Durchnummerieren :roll:

ADS ist von Sybase iAnywhere (ehemals Extended Systems) ;)

@Borschti: Sequenced gibt Dir nix zurück, beeinflusst aber das Verhalten der Datensatznummern.

hoika 24. Apr 2008 10:38

Re: Datensatznr. des Satzes welchem der Zeiger gerade liegt?
 
Hallo,

dann setze doch mal sequenced:= True
und dann RecNo probieren.
Ausserdem muss doch dazu was in der ADS-Hilfe stehen.

Falls das alles nichts hilft:
- merke die den aktuellen Record (Prim-Key)
- Bookmark setzen (falls ADS das kann)
- laufe bis zum Ende, zählen die Datensätze mit
- gehe zum Bookmark zurück

Vorher solltest du die Verbindung Grid zu Query lösen
fällt mir gerade nicht ein, wie.


Heiko

Borschti 24. Apr 2008 10:56

Re: Datensatznr. des Satzes welchem der Zeiger gerade liegt?
 
Zitat:

Zitat von hoika
dann setze doch mal sequenced:= True
und dann RecNo probieren.
Ausserdem muss doch dazu was in der ADS-Hilfe stehen.

Super das funzt, danke euch allen das Ihr mir geholfen habt :D

s-off 24. Apr 2008 12:25

Re: Datensatznr. des Satzes welchem der Zeiger gerade liegt?
 
Zitat:

Zitat von Borschti
Zitat:

Zitat von hoika
dann setze doch mal sequenced:= True
und dann RecNo probieren.

Super das funzt, danke euch allen das Ihr mir geholfen habt :D

Wovon rede ich seit Beitrag #5? :roll:

Zitat:

Zitat von s-off
Dann spiel mal mit der 'Sequenced'-Property.


Poelser 24. Apr 2008 12:30

Re: Datensatznr. des Satzes welchem der Zeiger gerade liegt?
 
Zitat:

Zitat von s-off
Zitat:

Zitat von Poelser
Ich weiß jetzt nicht, ob ADS das unterstützt, bei Sybase geht sowas mit

select number(*), * from MeineTabelle;

Es ist aber nur ein simples Durchnummerieren :roll:

ADS ist von Sybase iAnywhere (ehemals Extended Systems) ;)

Stümmt latürnich, number(*) ist aber vom Adaptive Server Anywhere, deshalb weiß ich nicht, ob's im ADS drin ist :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:42 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz