AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datensatznr. des Satzes welchem der Zeiger gerade liegt?
Thema durchsuchen
Ansicht
Themen-Optionen

Datensatznr. des Satzes welchem der Zeiger gerade liegt?

Ein Thema von Borschti · begonnen am 22. Apr 2008 · letzter Beitrag vom 24. Apr 2008
Antwort Antwort
Seite 1 von 2  1 2      
Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#1

Datensatznr. des Satzes welchem der Zeiger gerade liegt?

  Alt 22. Apr 2008, 13:49
Datenbank: ADS • Version: 8.1 • Zugriff über: Kp
Hallo,

Ich suche eine Methode/Eigenschaft welche mir die Nummer des Datensatzes, auf welchem gerade der Zeiger liegt, zurückgibt.

Beispiel: Ich habe 10 Datensätze in meiner Query und diese werden mir auch in meinem DBGrid angezeigt, nun klicke Ich den fünften an und von dort fängt auch meine Schleife an zu arbeiten nachdem Ich auf einem Button klicke, der Fortschritt der Operation wird auf einer ProgressBar angezeigt.

Das Problem ist jetzt das wenn ich irgendwo mitten in dem DBGrid starte, meine ProgressBar nur zur hälfte gefüllt ist nachdem die Schleife durchgelaufen ist.

Also brauche ich diese Methode/Eigenschaft um auszurechnen wieviele Datensätze insgesamt durchlaufen werden bis das DBGrid am Ende angelangt ist. Diesen Wert brauche Ich dann um den exakten Fortschritt meiner progrssBar zu berechnen. z.Z. benutze Ich noch Query1.RecordCount.

Hoffe Ich konnte es verständlich erklären

mfg
Alex
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

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

  Alt 22. Apr 2008, 13:51
Kennt ADS .RecNo ?
Markus Kinzler
  Mit Zitat antworten Zitat
Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#3

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

  Alt 22. Apr 2008, 14:01
Ja tut es. Aber was liest das aus? Hab mirs grade per ShowMessage ausgeben lassen und egal wo der Zeiger liegt bekomm Ich eine -1 raus.

Rufe es mit VddQuery1.RecNo auf.

mfg
Alex
  Mit Zitat antworten Zitat
Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#4

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

  Alt 24. Apr 2008, 08:54
Also bin jetzt nochmal dazu gekommen mir RecNo etwas genauer anzuschaun, in der Hilfe steht: "RecNo stellt eine Behelfseigenschaft für abgeleitete Datenmengen zur Verfügung, die keine Datensatznummern unterstützen."

Hört sich garnicht mal so schlecht an, nur wie kann Ich das nutzen? Oder gibt es vielleicht noch eine andere Eigenschaft oder methode mit der das möglich ist?

mfg
Alex
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#5

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

  Alt 24. Apr 2008, 09:14
Hallo,

also meine TADSQuery (8.1) liefert mit RecNo() sehr wohl die Position des aktuellen Datensatzes innerhalb der Datenmenge zurück.
Hat Deine Tabelle einen Index oder hast Du einen Filter gesetzt? Dann spiel mal mit der 'Sequenced'-Property.

Beachte auch, dass RecordCount auch gelöschte Datensätze beinhaltet!
  Mit Zitat antworten Zitat
Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#6

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

  Alt 24. Apr 2008, 09:43
Hmm also Ich bekomm bei RecNo nur -1 zurück, so stehts auch in der Hilfe, also das RecNo standardmäßig den Wert -1 hat

Vielleicht liegt es an meinem Aufruf
Query1.RecNo; Kanns mir aber irgendwie nicht wirklich vorstellen...

Habe auch mal nach Sequenced im Internet und in der Hilfe gesucht, konnte aber nicht wirklich was finden

Was macht die Eigenschaft? Eine kurze Erklärung wäre sehr nett.

mfg
Alex
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#7

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

  Alt 24. Apr 2008, 09:48
Sie enthält die Datensatznummer des aktiven Datensatzes.
Markus Kinzler
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#8

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

  Alt 24. Apr 2008, 09:55
Und Du bist sicher, dass Dein Query ein TADSQuery ist, und kein normales TQuery?

Mich wundert sowieso, dass Deine Hilfe auf deutsch ist - die Hilfe zu Advantage gibt es glaube ich nur in englisch und dort heißt es:

Zitat:
RecNo

Indicates the current record in the dataset.

Syntax

property RecNo: Longint;

Description

Examine RecNo to determine the record number of the current record in the dataset. Applications might use this property with RecordCount to iterate through all the records in a dataset, though typically record iteration is handled with calls to First, Last, MoveBy, Next, and Prior.
  Mit Zitat antworten Zitat
Borschti

Registriert seit: 1. Nov 2007
Ort: Marburg Lahn
235 Beiträge
 
Delphi 2007 Professional
 
#9

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

  Alt 24. Apr 2008, 10:36
Hmm naja hatte in der Online Hilfe von Delphi geschaut

Da gabs auch was zu RecNo, hatte gedacht das wär das gleiche

Naja, RecNo scheint leider nicht zu funktionieren, wie kann mir denn sequenced die Datensatznummer des aktiven Datensatzes geben? Hat als Rückgabewert Boolean
  Mit Zitat antworten Zitat
Poelser

Registriert seit: 21. Apr 2008
Ort: Europa
145 Beiträge
 
Delphi 10.4 Sydney
 
#10

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

  Alt 24. Apr 2008, 11:27
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz