Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zugriff auf ADOQuery bei SELECT MIN (https://www.delphipraxis.net/2859-zugriff-auf-adoquery-bei-select-min.html)

da_muhhh 10. Feb 2003 14:51


Zugriff auf ADOQuery bei SELECT MIN
 
ich habe folgendes problem:
bei einem normalen SELECT * FROM kann ich auf mein Query Objekt ausgezeichnet mit query.FieldByName('abc') zugreifen, wenn ich jedoch ein SELECT MIN(datum) as dtDATE verwende, ist ein Zugriff auf die query Komponente mit FieldByName zugreifen.

SQL:
SQL-Code:
SELECT MIN(Spiel.dtDatum) AS dtDatum
     FROM Spiel, Manager
     WHERE Spiel.dtDatum > Manager.dtAktDatum
Delphi-Quellcode:
  query := TADOQuery.Create(nil);
  query.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DBPath+';Mode=ReadWrite|Share Deny None;Persist Security Info=False';
  query.SQL.Append('SELECT MIN(Spiel.dtDatum) AS dtDatum FROM Spiel, Manager');
  query.SQL.Append('WHERE Spiel.dtDatum > Manager.dtAktDatum');
  query.Open;
  query.First;

  spieldatum := query.FieldByName('dtDatum').AsDateTime;
als Ergebnis erhalte ich eine unsinnige dezimalzahl (2,xxx e 12) oder so etwas, obwohl ich mittels access die sql abfrage getestet habe.

[edit=Daniel B]BBCode wieder aktiviert, damit die Tags funktionieren; MfG Daniel B.[/edit]

Gollum 10. Feb 2003 15:59

Hallo,

das Problem liegt daran, dass Du einem Feld keinen Aliasnamen zuweisen kannst, der einem Feldnamen in der Tabelle entspricht.

SQL-Code:
SQL:
SELECT MIN(Spiel.dtDatum) AS SumDatum
FROM Spiel, Manager
WHERE Spiel.dtDatum > Manager.dtAktDatum
Delphi-Quellcode:
 
spieldatum := query.FieldByName('SumDatum').AsDateTime;
[edit=Daniel B]Tags gesetzt; MfG Daniel B.[/edit]


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