AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi [MySQL] überprüfen ob ein Datensatz existiert
Thema durchsuchen
Ansicht
Themen-Optionen

[MySQL] überprüfen ob ein Datensatz existiert

Ein Thema von BastardOp · begonnen am 7. Aug 2005 · letzter Beitrag vom 8. Aug 2005
 
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#8

Re: [MySQL] überprüfen ob ein Datensatz existiert

  Alt 8. Aug 2005, 07:24
Hallo marabu,
Zitat von marabu:
Zitat von teebee:
Das Problem liegt nicht darin, dass das Array Posts die Länge 0 hat, dann würde High nämlich einfach -1 zurückliefern und alles wäre ok.
In meinen Programmen resultiert dynArray = nil aus SetLength(dynArray, 0).
In meinen auch. Aber High funktioniert trotzdem und liefert dann -1
Zitat von marabu:
Zitat von teebee:
Die AV kommt ja außerdem aus der libmysql.dll und nicht aus der Anwendung.
Das behauptet der thread owner, der gezeigte code gibt das aber nicht her.
Doch. wenn _myres Nil ist, kommt es beim Aufruf von mysql_num_rows() genau dazu. (s.u)
Zitat von marabu:
Zitat von teebee:
Hier verhält es sich so, dass _myRes Nil ist, wenn die Ergebnismenge leer ist.
Diese Implikation ist definitiv falsch. Die Kontrollstruktur für den result set wird auch für die leere Menge erzeugt.
Für eine SELECT-query (die wir hier ja zweifellos haben) hast Du allerdings recht.
Zitat von marabu:
Zitat von teebee:
Der darauffolgende Aufruf von mysql_num_rows() mit Nil als Argument führt zu der AV.
Tatsächlich produziert der Aufruf von mysql_num_rows(nil) eine AV, wenn aber _myres nil ist, dann nicht wegen eines leeren result set, sondern eher wegen einer fehlerhaften query.
Stimmt natürlich, s.o.
_myRes sollte trotzdem auf Nil geprüft werden, wenn auch nicht, um eine leere Ergebnismenge abzufragen.

Gruß, teebee
  Mit Zitat antworten Zitat
 


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 17:02 Uhr.
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