AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL SUM - Unbekannter Fehler
Thema durchsuchen
Ansicht
Themen-Optionen

SQL SUM - Unbekannter Fehler

Ein Thema von Alter Mann · begonnen am 17. Sep 2019 · letzter Beitrag vom 18. Sep 2019
Antwort Antwort
Seite 1 von 2  1 2      
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
947 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

SQL SUM - Unbekannter Fehler

  Alt 17. Sep 2019, 14:37
Datenbank: MS Access • Version: 2003 • Zugriff über: OLEDB.4.0
Hallo,

ich möchte eigentlich nur die Anzahl aller Werte addieren wenn sie der Vorgabe entsprechen.
(Die Tabelle mit ein paar Dummy-Werten im Anhang)

Delphi-Quellcode:
function TWotFS.GetResult(const Value : Integer) :Integer;
var
  Q : TADODataSet;
  S : String;
  I : Integer;
begin
  Q := TADODataSet.Create(Self);
  try
    I := GetLastIdx('TabSession');
    S := Format('Select SUM(Result) As Ret From TabStatistic Where ((Session=%s) and (Result=%s))', [IntToStr(I), IntToStr(Value)]);
    Q.Connection := ADOConn;
    Q.CommandText:= S;
    Q.Open;
    Result := Q.FieldByName('Ret').AsInteger;
    Q.Close;
  finally
    Q.Free;
  end;
end;
Doch leider kommt es bei Q.Open zu einer Exception = 'Unbekannter Fehler'.
Eine Abfrage des generierten SQL-Strings in MS Access bringt das gewünschte Ergebnis:
Code:
'Select SUM(Result) As Ret From TabStatistic Where ((Session=1) and (Result=1))' = 2.
Was läuft da schief?
Miniaturansicht angehängter Grafiken
tabstatistic.png  
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: SQL SUM - Unbekannter Fehler

  Alt 17. Sep 2019, 14:42
Warum IntToStr, wenn es (Ganz)Zahlen sind?
Die Abfrage sieht richtig aus, kann mir höchstens vorstellen, dass Deine Parameter nicht so befüllt sind, wie Du glaubst, besonders die Tabindexsache.

probehalber mal feste Werte eintragen, ohne Format.
Gruß, Jo
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: SQL SUM - Unbekannter Fehler

  Alt 17. Sep 2019, 14:52
Hallo,
was kommt bei
Select * From TabStatistic

Auch unbekannter Fehler?
Dann stimmt deine Connection nicht.
Heiko
  Mit Zitat antworten Zitat
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
947 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: SQL SUM - Unbekannter Fehler

  Alt 17. Sep 2019, 15:07
Solche Sachen wie
Code:
'Select * From TabStatistic'
laufen durch,
Code:
'Select SUM(Result) As Ret From TabStatistic Where ((Session=1) and (Result=1))'
aber nicht. Es kommt wieder 'Unbekannter Fehler'.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: SQL SUM - Unbekannter Fehler

  Alt 17. Sep 2019, 15:25
Falls Du den SQL Text irgendwie per Copy / Paste in den Code geschaufelt hast:
Nimm ihn raus und tipp ihn noch mal ein.

Vielleicht gibt es auch ein Problem mit Namensfeldern der Tabelle, die besondere Zeichen enthalten, dann müssten bei Access glaub ich diese eckigen Klammern drum..
Gruß, Jo
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: SQL SUM - Unbekannter Fehler

  Alt 17. Sep 2019, 15:42
Hallo,
dann schrittweise den Fehler "einkreisen".

Select * From TabStatistic // hattest Du bereits
Select SUM(Result) From TabStatistic
Select SUM(Result) As Ret From TabStatistic

usw.
Heiko
  Mit Zitat antworten Zitat
ghubi01

Registriert seit: 18. Nov 2017
133 Beiträge
 
Delphi 12 Athens
 
#7

AW: SQL SUM - Unbekannter Fehler

  Alt 17. Sep 2019, 15:50
Hallo,

@Alter Mann
Der Feldname 'Session' ist das Problem.
Selbst der einfache SQL-Befehl 'Select * From TabStatistic Where Session=1;' ergibt einen unbekannten Fehler.
Frag mich nicht warum. Ich arbeite schon sehr lange nicht mehr mit Access.

Ändere ihn mal ab in z.B. 'ASession'.
Damit hat Dein Beispiel hier bei mir funktioniert.
Getestet habe ich mit mit Access 2000 und Delphi 7 (Hab ich noch auf einen alten XP-Rechner).
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: SQL SUM - Unbekannter Fehler

  Alt 17. Sep 2019, 15:56
Wenn es daran liegt, sollte
SQL-Code:
Select
  SUM(Result) As Ret
From
  TabStatistic
Where
  (([Session]=1) and (Result=1))
doch auch funktionieren, oder?
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
ghubi01

Registriert seit: 18. Nov 2017
133 Beiträge
 
Delphi 12 Athens
 
#9

AW: SQL SUM - Unbekannter Fehler

  Alt 17. Sep 2019, 16:01
Hallo,

@DeddyH

ja das funktioniert auch (hab es gerade getestet).
Wie gesagt ich habe sehr lange nicht mehr mit Access gearbeitet.
  Mit Zitat antworten Zitat
ghubi01

Registriert seit: 18. Nov 2017
133 Beiträge
 
Delphi 12 Athens
 
#10

AW: SQL SUM - Unbekannter Fehler

  Alt 17. Sep 2019, 17:12
Hallo,

Nachtrag:
Ich hab hierzu mal ein bisschen gegoogled. Das erklärt vielleicht warum es mit dem Feldnamen 'Session' Probleme gibt.

https://support.office.com/de-de/art...__toc262648755

.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 02:47 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