Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQLite Hilfe zu SUM() ?? (https://www.delphipraxis.net/60516-sqlite-hilfe-zu-sum.html)

mkinzler 8. Jan 2006 15:00

Re: SQLite Hilfe zu SUM() ??
 
Zitat:

Zitat von Gigant02
lach nix da sum macht da den gleichen blödsinn also dachte ich mir tauscht die SQLite.dll aus gesagt getan aber wie ich sehe heißt sie jetzt SQLite3.dll und damit kann mein ZeosLib nicht um also muss ich wohl Zoeslib neue version installieren ohje mit der komponente stehe ich ja schon seit langen auf dem kriegsfuss

Eine neue Version zu installieren ist doch kein Problem ( wenn du nicht von 5 aug 6 wechselst). Normalerweise genügt es die neue über die alte zu installiern!
Zitat:

oder gibt es noch eine andere möglichkeit ?? kann ich mir nicht einfach die änderen der beiden dells ansehen und das so zusammen basteln wie ich das will ???

oder siehst es wohl eher schlecht für mich aus ???

lg, Gigant
???

Vielleicht die sqllit3.dll in SQLite.dll umbenennen ? Ich würe aber die neue zeoslib verwenden.

Orbmu2k 8. Jan 2006 21:49

Re: SQLite Hilfe zu SUM() ??
 
Zitat:

Zitat von mkinzler
Vielleicht die sqllit3.dll in SQLite.dll umbenennen ?

Auf keinen Fall! Sqlite3.dll ist nur für sqlite3 datenbanken gedacht und wird nur in der aktuell im CVS liegenden Version von ZEOS (Mit SQLite3 Support)verwendet.

Zitat:

Zitat von mkinzler
Eine neue Version zu installieren ist doch kein Problem ( wenn du nicht von 5 aug 6 wechselst). Normalerweise genügt es die neue über die alte zu installiern!

Also das hat mir immer nur Ärger eingehandelt, Also am besten ist es die Packages erst zu deinstallieren und danach auch die BPL's zu löschen und dann erst die neue Version einzuspielen.

Zitat:

Zitat von mkinzler
Man kann nur Daten aus einem Query exportieren

Ist aber eineindeutig mit "SQL Ergebnis exportieren" bezeichnet ;-) Mal sehen vieleicht erweitere ich es noch für die Datenansicht.

//EDIT:

@Gigant02

Versuch mal das in deinem Programm:

SQL-Code:
SELECT SUM(betrag) || '', konten_fk FROM kontoSoll
GROUP BY konten_fk

Gigant02 9. Jan 2006 16:21

Re: SQLite Hilfe zu SUM() ??
 
@Orbmu2k

hmm schade schade nee ist nicht geht so auch nicht werd mal eben lach leicht gesagt die neue version von ZeosLib installieren :)

wollte eigentlich nicht auf Version 3 (SQLite) umsteigen weil er die alte datenbank dann nicht mehr öffnen kann oder sehe ich das falsch ???

lg, Gigant

Gigant02 9. Jan 2006 16:45

Re: SQLite Hilfe zu SUM() ??
 
Jup ich habe es mal wieder geschaft

hier geht nix mehr ich drehe gleich druch boar immer habe ich probleme mit dieser alten blöden komponente !!!!

dabei laufen die ja so gut aber das blöde installieren ich habe es genauso gemacht wie beschrieben aber es geht nix

ich habe alle such pfade gesetzt und alles so gemacht wie beschrieben er nörgeld aber rum das er nix findet herlich

und ich habe das problem an zwei rechnern

das bedeutet für mich wieder zwei tage dauer schlechte laune bis das läuft
ich bin einfach zu blöd um die dinger zuinstallieren

lg, Gigant

Gigant02 9. Jan 2006 16:56

Re: SQLite Hilfe zu SUM() ??
 
was uach richtig toll ist

mir fehlen
ZCore.bpl
ZParseSql.bpl
ZPlain.bpl
ZDbc.bpl

toll oder

und kann mal einer so lieb sein und mir einfach mal ein link posten zum richtigen archive ???

ich habe das hier genommen
http://prdownloads.sourceforge.net/z...5.zip?download

ist doch richtig oder ???

//************************************************** *

also ich bin jetzt so vorgegangen
ZeosDBO installations Anleitung

-1- Entpacke das Archive in einen Ordner.
-2- Kopiere Die erforderlichen DLL’S von dem Lib Ordner zu den Windows System Ordner
-3- Füge das Build Verzeichnis des entsprechenden Paketes hinzu.
-4- Öffne das Paketverzeichnis und öffne die ZeosDBO.bpg Projektgruppe und Compoliere die folgenden Componenten in der Listen reihenfolge

- Zcore.bpl
- ZparseSql.bpl
- Zplain.bpl
- ZDbc.bpl

-5- Hast du alle Componenten installiert kommt noch zur guter letzt die Zcomponent.bpl

und er nürgelt immer rum das er einige nicht finden kann ???
und dazu habe ich die

- Zcore.bpl
- ZparseSql.bpl
- Zplain.bpl
- ZDbc.bpl

überhaupt nicht !!!!!

ich bin echt fertig mit meinen nerven bitte hilft mir
lg, Gigant

mkinzler 9. Jan 2006 19:54

Re: SQLite Hilfe zu SUM() ??
 
Es scheint so, das der Ausgabepfad für die bpl-dateien in den Delphiprojekten (dpk's) nicht im Bibliothekspfad der IDE liegt. Enweder diesen Pfad in der IDE übernehmen, die bpl ind anderen Pfad kopieren.

Orbmu2k 9. Jan 2006 20:10

Re: SQLite Hilfe zu SUM() ??
 
Zitat:

Zitat von Gigant02
@Orbmu2k

hmm schade schade nee ist nicht geht so auch nicht werd mal eben lach leicht gesagt die neue version von ZeosLib installieren :)

wollte eigentlich nicht auf Version 3 (SQLite) umsteigen weil er die alte datenbank dann nicht mehr öffnen kann oder sehe ich das falsch ???

lg, Gigant

Das ist richtig du kannst mit SQLite3 keine 2.8er DB Files öffnen ... aber wer sagt das du auf 3 umsteigen musst ? Die neue ZEOS unterstützt es nur ;-) d.h. du kannst mit der sqlite.dll normale sqlite2.8 Files öffnen (Alles wie immer) oder mit der sqlite3.dll die sqlite3 DB Files.

Lass dich von Sqlite und meinem Tool nicht reinlegen! Der Grid in meinem Tool zeigt auch eine MEMO Vorschau an und mit dem ||'' bringst du ihn dazu es wie ein MEMO zu verstehen. Dass da immer ne 0 drin steht heisst das er den DatenfeldTyp falsch zuordnet ... SQLite2.8 kennt im Hintergrund eh nur Strings.


Zitat:

Zitat von Gigant02
und kann mal einer so lieb sein und mir einfach mal ein link posten zum richtigen archive ???
ich habe das hier genommen
http://prdownloads.sourceforge.net/z...5.zip?download
ist doch richtig oder ???

Also die fertigen Builds solllten eigentlich gehen ... Ich verwende aber die CVS Version ... diese dort hat noch kein SQLite3 Support.

Gigant02 10. Jan 2006 17:03

Re: SQLite Hilfe zu SUM() ??
 
hmm das ist doch die CSV version

ich hatte vorher die nicht CSV drauf
also die zeosdbo-6.5.1-alpha

hmm habe die alte soweit wieder zum laufen bekommen (endlich)

hmm was mir aber sagt das ich die alte nicht richtig deinstalliert habe (zum glück)

frage eins

wie deinstalliere ich komonenten ???

Frage zwei
wo ist der unterschied zwischen csv und nicht csv und wo bekomme ich die csv wenn das die nicht csv war ???

frage drei

wenn ich schon die neueste version habe warum kann ich denn bitte nicht mir SUM() arbeiten ??? ich habe nix falsch verlink und auch sonst ist mir kein fehler bekannt :(

also
SQL-Code:
SELECT SUM(betrag) || '', konten_fk FROM kontoSoll
GROUP BY konten_fk
das geht sehr sehr gut in deinen tool (in älteren versionen auch)
aber bei mir gibt es einen SQL fehler aus :(

Delphi-Quellcode:
procedure TfrmEinstellung.Button1Click(Sender: TObject);
var qKonten : tzQuery;
    cSQL   : String;
begin

  cSQL := 'SELECT SUM(betrag) as betrag, konten_fk FROM kontoSoll ' +
          'GROUP BY konten_fk';

  if (DB_Open(qKonten,cSQL)) then begin
    qKonten.First;
    While (Not qKonten.Eof) do begin

      cSQL := 'UPDATE konten SET kontostand = '+qKonten.FieldByName('betrag').asString
             +' WHERE konto_pk = '+qKonten.FieldByName('konten_fk').asString;

      DB_Exec(cSQL);

      ShowMessage(qKonten.FieldByName('betrag').asString);
      qKonten.Next;

    end;
  end;
  qKonten.Free;
end;
so eine kleine erklärrung
DB_OPEN öffnet mir einfach eine Query und DB_Exec ist nur für ausführungen da

das Showmessage gibt mir immer nur 0 zurück :( also einen fehler oder ??

wenn ich da dein code benutze geht das garnicht

lg, Gigant

mkinzler 10. Jan 2006 22:12

Re: SQLite Hilfe zu SUM() ??
 
Zitat:

Zitat von Gigant02
hmm habe die alte soweit wieder zum laufen bekommen (endlich)

frage eins

wie deinstalliere ich komonenten ???

Komponenetn->Packages installieren -> Enfernen.
Pfade aus Umgebungsoptionen/Bibliothekspfad und Suchpfad enfernen.
Verzeichnis löschen.
Zitat:

Frage zwei
wo ist der unterschied zwischen csv und nicht csv und wo bekomme ich die csv wenn das die nicht csv war ???
Unter schied zwischen cvs (nicht csv) und der Nicht-CVS Version ist, das die Entwicklerversion im Versionierungssystem von SF.net neuer ist und neu Features enthält ( z.B. für sqlite3 und FireBird 2.0).
Sie besitzt aber möglicherweise mehr Bugs.
Auf das CVS kann man z.B. mit WinCVS zugreifen.
Zitat:


Delphi-Quellcode:
procedure TfrmEinstellung.Button1Click(Sender: TObject);
var qKonten : tzQuery;
    cSQL   : String;
begin

  cSQL := 'SELECT SUM(betrag) as betrag, konten_fk FROM kontoSoll ' +
          'GROUP BY konten_fk';

  if (DB_Open(qKonten,cSQL)) then begin
    qKonten.First;
    While (Not qKonten.Eof) do begin

      cSQL := 'UPDATE konten SET kontostand = '+qKonten.FieldByName('betrag').asString
             +' WHERE konto_pk = '+qKonten.FieldByName('konten_fk').asString;

      DB_Exec(cSQL);

      ShowMessage(qKonten.FieldByName('betrag').asString);
      qKonten.Next;

    end;
  end;
  qKonten.Free;
end;
so eine kleine erklärrung
DB_OPEN öffnet mir einfach eine Query und DB_Exec ist nur für ausführungen da

das Showmessage gibt mir immer nur 0 zurück :( also einen fehler oder ??
Hast Du in der Prozedur DB_Exec eine loakle TZQuery-Komponente, oder nimmst du die qKonten?
Wie sind die weiteren Einstellungen?
Möglicherweise verschiebt das Update den Zeiger der Abfrage.

Orbmu2k 11. Jan 2006 08:20

Re: SQLite Hilfe zu SUM() ??
 
@Gigant

versuch mal das:
Delphi-Quellcode:
procedure TfrmEinstellung.Button1Click(Sender: TObject);
var qKonten : tzQuery;
    cSQL   : String;
begin

  cSQL := 'SELECT SUM(betrag)||'''' as betrag, konten_fk FROM kontoSoll GROUP BY konten_fk';

  if (DB_Open(qKonten,cSQL)) then begin
    qKonten.First;
    While (Not qKonten.Eof) do begin

      cSQL := 'UPDATE konten SET kontostand = '+ QuotedStr(qKonten.FieldByName('betrag').asString)
             +' WHERE konto_pk = '+qKonten.FieldByName('konten_fk').asString;

      DB_Exec(cSQL);

      ShowMessage(qKonten.FieldByName('betrag').asString);
      qKonten.Next;

    end;
  end;
  qKonten.Free;
end;
Bei SQLite 3 könnte man sowas dann sogar mit einer Query erledigen ;-)

SQL-Code:
update Konten

set KontoStand =
  (select SumBetrag
   from (select
           Sum(ks.betrag) as SumBetrag,
           ks.Konten_FK as KontenFK
         from KontoSoll ks
         group by ks.Konten_FK
        )
   where KontenFK = Konto_PK
  )


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 Uhr.
Seite 3 von 4     123 4      

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