Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Select Sum(Fieldname) From Table (https://www.delphipraxis.net/198571-select-sum-fieldname-table.html)

Amenovis 14. Nov 2018 19:39

Select Sum(Fieldname) From Table
 
Bitte was mach ich falsch????

Ich hänge da ganz ehrlich schon 2 Tage dran je 8 Std.

Ich hab Schleifen Probiert bis ich auf Sum(Feld) von Tabelle stiess.

Und auch Im SQL selbst macht er es Ohne Schwierigkeiten.

Aber wenn ich es mit Delphi verbinde nur Error oder Ausserhalb des Bereichs oder er zeigt mir Traumzahlen

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
item:TListItem;
 begin
  con.LibraryLocation:=ExtractFilePath(application.ExeName)+'sqlite3.dll';
  con.Database:=ExtractFilePath (application.ExeName)+'test.sqlite';
  con.Connected:=true;
  Query1.SQL.Clear;
  Query1.Params.Clear;
  Query1.SQL.Text :='SELECT * FROM Versuch';
  Query1.Open;
  while not Query1.Eof do
  begin
  Item:=Form1.listview1.items.Add;
  Item.Caption:=(Query1.FieldByName('id').AsString);
  Item.SubItems.Add(Query1['Test']);
  Item.SubItems.Add(Query1['Test2']);
  Query1.SQL.Text:='Select SUM(Test) as blabla FROM Versuch';
  Query1.Open;
  Edit1.Text:=Query1.FieldByName['blabla'].asString;
  Query1.Close;
  end;
 end;
end.
Danke für jede Hilfe!

bnreimer42 14. Nov 2018 19:50

AW: Select Sum(Fieldname) From Table
 
Wie lautet der Fehler genau?
Wo tritt er auf?

Wo ist die Deklaration der Variablen?

mkinzler 14. Nov 2018 20:07

AW: Select Sum(Fieldname) From Table
 
Du verwendest in der Schleife das selbe DataSet.
Und die Summe ist ja auch immer die selbe, da es sich ja um die selbe Tabelle handelt.
Was soll genau abgefragt werden?

Amenovis 14. Nov 2018 20:09

AW: Select Sum(Fieldname) From Table
 
die waren vorhin noch drin mir brummt der Kopf *Sorry

var
blabla:String;
id:Integer;

mein Problem fängt erst hier an
Delphi-Quellcode:
  Query1.SQL.Text:='Select SUM(Test) as blabla FROM Versuch';
  Query1.Open;
  Edit1.Text:=Query1.FieldByName['blabla'].asString;
  Query1.Close;
  end;
 end;
wie gesagt im sqlite manager macht er den befehl
Wo der Fehler auftaucht mhh nach 2 Tagen ca 16 Stunden, und mit Sicherheit 300 Änderungen, weiss ich es nicht mehr ich kann nur sagen er zählt mir 3 Werte nicht zusammen, die ich aus Testzwecken in der Spalte Test eingesetzt habe.... ich will einfach nur spalte Test wert 1 plus spalte Test wert 2 plus spalte Test wert 3 ergbenis im editfeld *Hab langsam echt ein KREISCH HEUL FLEN FEELING :(

mkinzler 14. Nov 2018 20:28

AW: Select Sum(Fieldname) From Table
 
Mach mal ein Beispiel, was Du erwartest

Soll die Summe jeweils bis zu dem Wert ermittelt werden oder wirklich die komplette Summe aller Einträge der Datenbank?
Für die 2. Abfrage in der Schleife solltest Du eine separate Query-Instanz verwenden.

p80286 14. Nov 2018 20:32

AW: Select Sum(Fieldname) From Table
 
Dann leg Dich mal ins Bett und schlaf Dich aus.
Morgen Früh beschreibst Du dann mal was dein Programm tut.
Und dann formulierst Du was es tun sollte.

Gruß
K-H

DeddyH 14. Nov 2018 20:32

AW: Select Sum(Fieldname) From Table
 
Lass doch die erste Abfrage und die Schleife weg und nimm dafür nur die gerade von Dir geposteten Zeilen.

Amenovis 14. Nov 2018 20:40

AW: Select Sum(Fieldname) From Table
 
Spalte Test

Wert1 = 2
Wert2 = 10
Wert3 = 33

Ergebnis im Edit Feld sprich 45 Ich weiss für die meisten hier ein Schmunzler ich sitz da wirklich so lange dran ich hab es mit for schleifen mit while schleifen versucht irgendwas war immer falsch dann fand ich die Zeile und auch die will nicht ... Hab die Nerven echt Blank

hatte ich auch schon weg die zeilen sind nur damit ich sehe was passiert oft zeigt er mir zb nur die erste zeile der spalte mhh aber ok jetzt wo Kinzler sagte Dataset könnte sich das beissen mhh wuahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

EDIT 2 mein Bett hat mich Gestern 2 Stunden gesehen ich kann nie loslassen wenn ich mich fixiere :(

EDIT 3 Alle Zeilen Rausgekickt ... Fehler E2035 nicht genügend wirkliche Parameter

DeddyH 14. Nov 2018 21:07

AW: Select Sum(Fieldname) From Table
 
Zeig doch mal den aktuellen Code.

Amenovis 14. Nov 2018 21:09

AW: Select Sum(Fieldname) From Table
 
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
item:TListItem;
blabla:string;
 begin
  con.LibraryLocation:=ExtractFilePath(application.ExeName)+'sqlite3.dll';
  con.Database:=ExtractFilePath (application.ExeName)+'test.sqlite';
  con.Connected:=true;
  Query1.SQL.Text:='Select SUM(Test) as blabla FROM Versuch';
  Query1.Open;
  Edit1.Text:=Query1.FieldByName['blabla'].asString;
  Query1.Close;
  end;
  end.

DeddyH 14. Nov 2018 21:11

AW: Select Sum(Fieldname) From Table
 
Ersetze mal die eckigen Klammern bei FieldByName durch runde.

Papaschlumpf73 14. Nov 2018 21:12

AW: Select Sum(Fieldname) From Table
 
Probiere es mal so... (Nicht getestet)

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var item:TListItem;
 begin
  con.LibraryLocation:=ExtractFilePath(application.ExeName)+'sqlite3.dll';
  con.Database:=ExtractFilePath (application.ExeName)+'test.sqlite';
  con.Connected:=true;
  Query1.SQL.Clear;
  Query1.Params.Clear;
  Query1.SQL.Text :='SELECT * FROM Versuch';
  Query1.Open;
  while not Query1.Eof do
   begin
   Item:=Form1.listview1.items.Add;
   Item.Caption:=(Query1.FieldByName('id').AsString);
   Item.SubItems.Add(Query1['Test']);
   Item.SubItems.Add(Query1['Test2']);
   Query1.Next; //hier geht es zum nächsten Datensatz; ohne das wird es eine Endlosschleife
   end;
  Query1.Close; //Query erst schließen, wenn die Schleife fertig ist
  Query1.SQL.Text:='Select SUM(Test) as blabla FROM Versuch';
  Query1.Open;
  Edit1.Text:=Query1.FieldByName['blabla'].asString;
  Query1.Close;
end;
end.

Amenovis 14. Nov 2018 21:16

AW: Select Sum(Fieldname) From Table
 
JEEEETTTTTTTTTTTTTTTZZZZZZZZZZZZZZZZTTTTTTTTTTT und für sowas 2 Tage mhh es gibt momente da möchte ich den Laptop mit delphi aus dem Fenster werfen mhh


Vielen vielen Dank und auch wenn meine alten Beiträge irgendwie weg sind du hast mir immer super geholfen DeddyH :) DANKE DANKE DANKE

Dann kann ich mich jetzt mit dem Nächsten rumärgern dem Datums format in db und zurück aber da Setz ich mich erstmal selbst dran um den Fehler zu finden :) :thumb:

Danke PapaSchlumpf der Fehler diesmal waren wirklich a) Das selbe DataSet und B) [] statt ()

DeddyH 14. Nov 2018 21:19

AW: Select Sum(Fieldname) From Table
 
Gern geschehen :)

Amenovis 14. Nov 2018 21:20

AW: Select Sum(Fieldname) From Table
 
Lösung für andere :

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
platzhalter:string;
 begin
  con.LibraryLocation:=ExtractFilePath(application.ExeName)+'sqlite3.dll';
  con.Database:=ExtractFilePath (application.ExeName)+'DEINEDB.sqlite';
  con.Connected:=true;
  Query1.SQL.Text:='Select SUM(Spaltenname) as platzhalter FROM Tabellenname';
  Query1.Open;
  Edit1.Text:=Query1.FieldByName('platzhalter').asString;
  Query1.Close;
  end;
  end.

hoika 15. Nov 2018 09:18

AW: Select Sum(Fieldname) From Table
 
Hallo,
oder einfach so.
Delphi-Quellcode:
Edit1.Text:=Query1.Fields[0].AsString;

mkinzler 15. Nov 2018 09:32

AW: Select Sum(Fieldname) From Table
 
Zitat:

Zitat von hoika (Beitrag 1418124)
Hallo,
oder einfach so.
Delphi-Quellcode:
Edit1.Text:=Query1.Fields[0].AsString;

Birgt allerdings die Gefahr, das später die Abfrage geändert wird und sich der Index dadurch verschiebt.

hoika 15. Nov 2018 09:44

AW: Select Sum(Fieldname) From Table
 
Hallo,
korrekt, deshalb steht bei mir immer ein Kommentar drüber ;)
Das ganze sollte man auch nur bei einem einzigen count(*) machen, weil ja ohne einen Aliasnamen die Datenbank irgendeinen Feldnamen generiert.

Amenovis 15. Nov 2018 16:58

AW: Select Sum(Fieldname) From Table
 
Zitat:

Edit1.Text:=Query1.Fields[0].AsString;
Die Zeile hatte ich fast am Ende mit dem Lösungsweg des gezeigten Codes mhh da kam auch nur ein Fehler vermutlich wegen dem selben DataSet bzw query.next---end;---query.close


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