AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Rowsaffected oder RecordCount
Thema durchsuchen
Ansicht
Themen-Optionen

Rowsaffected oder RecordCount

Ein Thema von khh · begonnen am 9. Dez 2008 · letzter Beitrag vom 9. Dez 2008
Antwort Antwort
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#1

Rowsaffected oder RecordCount

  Alt 9. Dez 2008, 09:42
Datenbank: firebird • Version: 2.1 • Zugriff über: ZEOS
hallo zusammen,

ich habe eine query :
select * from ....where...

das ergebnis ist in diesem Falle kein ds da die bedingungen der abfrage in der where-Klausel nicht zutreffen.
warum aber bringt Rowsaffected ( bei EXECsql) als Ergebnis 1 und RecordCount (bei open) als ergebnis 0 ?

Danke Gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

Re: Rowsaffected oder RecordCount

  Alt 9. Dez 2008, 10:06
Ein RecordCount von 0 heißt ja, dass keine passenden Daten gefunden wurden, was hier ja auch nach Deiner Aussage zutrifft. Wenn man aber eine Abfrage mit ExecSQL ausführt, darf man sich über merkwürdige Rückgaben nicht wundern. Wieso RowsAffected (=Anzahl der von einer Änderung/Löschung betroffenen Datensätze) 1 zurückgibt, kann ich allerdings auch nicht erklären, das soll mal ein Profi tun.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Rowsaffected oder RecordCount

  Alt 9. Dez 2008, 15:32
Möglichweise wurde nicht alle DS gefetcht. Was zeigt er an, wenn du auf den letzten DS gehst?
Markus Kinzler
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Rowsaffected oder RecordCount

  Alt 9. Dez 2008, 18:27
Zitat von mkinzler:
Möglichweise wurde nicht alle DS gefetcht. Was zeigt er an, wenn du auf den letzten DS gehst?
was meinst du mit anzeigen, wie auf den letzten Satz gehen?
ich mache nur ein select um festzustellen ob ein wert des DS true oder false ist.
Da dieser Wert in diesem Satz false ist ist es ja richtig dass er keinen findet wenn ich in diesem Satz nach true abfrage.

Nochmal zum Verständnis:
ich frage ab ob ein Satz mit einer eindeutigen id in einem bestimmten feld true stehen hat.
Da dies nicht der Fall ist, bringt RecordCount 0.
RowsAffected bringt aber 1
warum?

Gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Rowsaffected oder RecordCount

  Alt 9. Dez 2008, 18:53
Die Frage nach RowsAffected mach mMn nur Sinn, wenn du Daten änderst mit INSERT, UPDATE oder DELETE.

RecordCount bringt dir bei einem SELECT die Anzahl der getroffen/gefundenen Datensätze.

Warum allerdings nach einem SELECT mit 0 Treffern RowsAffected = 1 ist, kann ich die auch nicht sagen.
Aber wie gesagt. Macht eigentlich auch keinen Sinn danach zu fragen, oder?
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Rowsaffected oder RecordCount

  Alt 9. Dez 2008, 19:08
Zitat von gmc616:
Die Frage nach RowsAffected mach mMn nur Sinn, wenn du Daten änderst mit INSERT, UPDATE oder DELETE.

RecordCount bringt dir bei einem SELECT die Anzahl der getroffen/gefundenen Datensätze.

Warum allerdings nach einem SELECT mit 0 Treffern RowsAffected = 1 ist, kann ich die auch nicht sagen.
Aber wie gesagt. Macht eigentlich auch keinen Sinn danach zu fragen, oder?
da hast du sicher Recht,ist aber trotzdem interessant zu wissen, _warum_ das so ist.


Gruss Kh
Karl-Heinz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Rowsaffected oder RecordCount

  Alt 9. Dez 2008, 21:06
Zitat:
was meinst du mit anzeigen, wie auf den letzten Satz gehen?
<DS>.Last; bevore du dir <DS>.RecordCount anzeigen lässt
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

Re: Rowsaffected oder RecordCount

  Alt 9. Dez 2008, 21:11
Zitat von mkinzler:
Zitat:
was meinst du mit anzeigen, wie auf den letzten Satz gehen?
<DS>.Last; bevore du dir <DS>.RecordCount anzeigen lässt
Das habe ich aber bisher nur dann erlebt, wenn ich die Tabelle dynamisch öffnen lasse. Bei einer statischen Abfrage ist in RecordCount nach dem Öffnen immer der richtige Wert drin (natürlich auch kein asynchroner Fetch )
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:11 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