Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL ANweisung liefert leere Datenmenge (https://www.delphipraxis.net/130098-sql-anweisung-liefert-leere-datenmenge.html)

Bernhard Geyer 4. Mär 2009 08:24

Re: SQL ANweisung liefert leere Datenmenge
 
Zitat:

Zitat von WoGe
Zitat:

Zitat von Moony
Es ist richtig zusammengesetzt und führt zu keinerlei Fehlern!

Wenn die Frage richtig ist, könnte dann 0 nicht auch die richtige Antwort sein?

Vor allem da bei Nicht-Verwendung von Parametern teilweise die Queries je nach DBMS bei Sonderzeichen nicht korrekt ausgewertet werden (bzw. anders interpretiert werden als du denkst).

Um welche DBMS genau handelt es sich? Je nach DBMS hat der Zugriff über ADO (und evtl. ODBC) "komische" Effekte.

Moony 4. Mär 2009 08:33

Re: SQL ANweisung liefert leere Datenmenge
 
Im Moment Filemaker, aber das muß auch für Acces, SQL, MySQL, und Oracle gelten. Dafür gibts auf jeden Fall überprüfungen. Aber grundsätzlich muß das ja erst mal funktionieren. Wenn ich nach der Existenz eines Datensatzes abfrage mit einer Bedingung aller Felder und deren Inhalte, dann muß wenn nichts geändert wurde, der Datensatz zurückgeliefert werden.

ULIK 4. Mär 2009 08:39

Re: SQL ANweisung liefert leere Datenmenge
 
Laß Dir doch mal so ein Statement ausgeben und poste es hier. Vieleicht sieht man ja daran etwas.

Uli

Moony 4. Mär 2009 09:28

Re: SQL ANweisung liefert leere Datenmenge
 
SQL-Code:
SELECT COUNT(*) FROM Stammdaten WHERE CM_REC_NO='3' AND Nachname='Meyer' AND Vorname='Helga' AND Funktion='Project Manager' AND Firma='Meyer KG' AND Strasse='Signaalrood 57' AND PLZ='83834' AND Stadt='Duesseldorf' AND Telefon='+49-79-360 11 60' AND Fax='+49-79-360 11 50' AND Email='' AND Datum='01.01.2002' AND Gueltigkeit='31.12.2005' AND Tag='0' AND Geschlecht='F' AND Land='Deutschland' AND Geburtsdatum='24.08.1975' AND Logo='Abteilung A' AND CM_Image='3.jpg' AND CM_Sign='' AND CM_Layout='Video2'

Bernhard Geyer 4. Mär 2009 09:31

Re: SQL ANweisung liefert leere Datenmenge
 
Datumsangaben nicht als Parameter zu setzen ist immer ein Quell von Problemen. Evtl. erwartet Filemaker hier ein anderes Format (US/ISO/...)

DeddyH 4. Mär 2009 09:33

Re: SQL ANweisung liefert leere Datenmenge
 
Wenn es bei Filemaker eine Art SQL-Editor gibt, kann man das Statement ja dort einmal eingeben und schauen, wie die Ergebnismenge aussieht.

ULIK 4. Mär 2009 09:37

Re: SQL ANweisung liefert leere Datenmenge
 
Zitat:

Zitat von Moony
SQL-Code:
SELECT COUNT(*) FROM Stammdaten WHERE CM_REC_NO='3' AND Nachname='Meyer' AND Vorname='Helga' AND Funktion='Project Manager' AND Firma='Meyer KG' AND Strasse='Signaalrood 57' AND PLZ='83834' AND Stadt='Duesseldorf' AND Telefon='+49-79-360 11 60' AND Fax='+49-79-360 11 50' AND Email='' AND Datum='01.01.2002' AND Gueltigkeit='31.12.2005' AND Tag='0' AND Geschlecht='F' AND Land='Deutschland' AND Geburtsdatum='24.08.1975' AND Logo='Abteilung A' AND CM_Image='3.jpg' AND CM_Sign='' AND CM_Layout='Video2'

Sind das wirklich alles String-Felder? CM_REC_NO würde ich jetzt eher auf ein NUMBER Feld tippen. Außerdem: Wenn in dem Feld CM_Sign NULL steht, dann ist CM_Sign='' immer falsch, da '' <> NULL

Vieleicht hilft Dir das weiter.

Blup 4. Mär 2009 11:39

Re: SQL ANweisung liefert leere Datenmenge
 
Ich tippe auf NULL-Zustand im Feld Email oder CM_Sign (NULL <> '').
Entferne einfach nacheinander jeweils eine Bedingung, bis eine Ergebnismenge geliefert wird.
Dann dürfte die Ursache leichter einzugrenzen sein.

Moony 4. Mär 2009 12:17

Re: SQL ANweisung liefert leere Datenmenge
 
Bei dieser SQL Anweisung handelt es sich um eine Access Datenbank und die Felder sind nicht alles Textfelder.
Was den Filemaker betrifft, dort gibt es keinerlei Möglichkeit einen SQL Befehl auszuprobieren.
Das mit dem NULL könnte eine Möglichkeit sein. Das könnte man dann mit einer OR Verknüpfung verbinden.

Jürgen Thomas 4. Mär 2009 12:18

Re: SQL ANweisung liefert leere Datenmenge
 
Also zum dritten Mal nach den Antworten in #3 und #11: Benutze Parameter, und die Probleme mit falschen Hochkommata und Datumsformaten gibt es nicht mehr! Du musst Dich dann nur noch um die NULL-Werte kümmern. Jürgen


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:31 Uhr.
Seite 2 von 4     12 34      

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