Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Unterschiedlche Ergebnisse beim Selektieren (https://www.delphipraxis.net/196708-unterschiedlche-ergebnisse-beim-selektieren.html)

NoName1 11. Jun 2018 11:14

Datenbank: Interbase • Version: Alle • Zugriff über: Alle

Unterschiedlche Ergebnisse beim Selektieren
 
Guten Tag,
wenn ich in meinem SQL-Tool "SQL-Manager for Interbase" folgendes eingebe:
Code:
select * from bkauszugpos
where DIBIC = 'NOLADE21NIB'
and buchungam between :pVonDatum and :pBisDatum
and verbucht = 'N'
order by buchungam DESC
werden die Daten korrekt selektiert.
Wenn ich die gleichen Zeilen in in eine TIBQuery eingeben, werden keine Daten selektiert.
Nehme ich die Zeile
Code:
and buchungam between :pVonDatum and :pBisDatum
heraus, dann werden wieder Daten angezeigt.
Die Parameter pVonDatum und pBisDatum sind vom Typ TDateTime und werden auch als solche übergeben.
Selbstverständlich sind in der Tabelle die entsprechenden Spalten auch vom Typ Date.
Was geschieht oder macht die TIBQuery anders?
Vielen Dank für Eure Hilfe

mkinzler 11. Jun 2018 11:47

AW: Unterschiedlche Ergebnisse beim Selektieren
 
Entferne mal die Zeitanteile

himitsu 11. Jun 2018 11:58

AW: Unterschiedlche Ergebnisse beim Selektieren
 
Hat die Datenbank eine Aktivitätsanzeige, bzw. kann man ein Serverseitiges Log aktivieren?
Da könntest du dann mal schauen, was in beiden Fällen am ende für eine Query ausgeführt wird.

Es kommt halt darauf an, wie letztendlich die Query übergeben wird.
* SQL-Text im Client mit den Parametern gefüllt und das als ein Text übergeben
* und wenn Parameter einzeln übergeben werden, wie werden dort dann die Parameter übergeben


Du kannst es auch serverzeitig nochmal mit einem Cast versuchen, ob es dann geht
SQL-Code:
and buchungam between cast(:pVonDatum as DATE) and cast(:pBisDatum as DATE)

NoName1 11. Jun 2018 15:57

AW: Unterschiedlche Ergebnisse beim Selektieren
 
Vielen Dank für Eure Hilfestellung.
Der Fehler lag in der Zuweisung von VonDatum und BisDatum.
Ich habe Daten aus dem Jahre 2018 und die Selektion basiert auf das Jahr 2017.
Das kann nicht gut gehen. Zu meiner Entschuldigung kann ich nur Vorbringen, dass
ich mich z. Z. in einem ernormen Stresszustand befinde.
Also nochmals vielen Dank das Ihr Eure Zeit geopfert habt.
Allen eine erfolgreiche Woche.

himitsu 11. Jun 2018 16:04

AW: Unterschiedlche Ergebnisse beim Selektieren
 
Also in so einem Fall, das
SQL-Code:
and buchungam between cast(:pVonDatum as DATE) and cast(:pBisDatum as DATE)
im WHERE auskommentieren
und dann
SQL-Code:
SELECT :pVonDatum, :pBisDatum, * FROM ...
:zwinker:

jobo 11. Jun 2018 17:51

AW: Unterschiedlche Ergebnisse beim Selektieren
 
Zitat:

Zitat von himitsu (Beitrag 1404553)
Also in so einem Fall, das ..

Das ist eigentlich ein super Hinweis für alle Fragen in diese Richtung. Wird er vermutlich nicht mehr lesen.
Nett wäre auch, die Abfrageparameter ohne Änderung der Where Clause mit aufzunehmen ins Select. Nur wenn es komplett daneben ist, kommt natürlich nicht mal 1 DS raus, der die Parameter dann auch anzeigt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:14 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