AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 04:17

Parameter dieser Suchanfrage:

Suche in Thema: Kundenliste
Suche alle Beiträge, die von "Hobbycoder" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 11 von insges. 11 Treffern
Suche benötigte 0.002s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Datenbanken

    AW: Kundenliste

     
      by Hobbycoder, 22. Apr 2017
    Hast du eigentlich überhaupt irgendwas von dem verstanden, was du die ganze Zeit in einem Programm machst?
    Ich habe so langsam das Gefühl, du meinst, wenn du so halbwegs alles zusammen-kopierst wird das schon irgendwie funktionieren.
    Wenn du dir die obige Methode mal anschaust, dann definiert du dort eine zqyMain, die du nie benutzt und auch nie freigibst, und die logischerweise bei jedem...
  • Forum: Datenbanken

    AW: Kundenliste

     
      by Hobbycoder, 21. Apr 2017
    Mach's dir doch nicht so schwer.
    Definiert doch einfach in TCustomer die Funkton

    RemoveFromDB(con: TZConnection); //Kannst die auch DeleteFromDB() nennen, oder auch HansWurst(), ist völlig egal.
    var
    q: TZQuery;
    begin
    q:=TZQuery.Create(nil);
    try
    q.sql.Text:='Delete from Customer where id=:id';
  • Forum: Datenbanken

    AW: Kundenliste

     
      by Hobbycoder, 20. Apr 2017
    Also mal so generell:
    Ein Programm folgt immer der Logik des erstellten Sourcecode, und das peinlich genau. Es berücksichtigt nur die Funktionen, die du ihm mitgibst.
    Das heißt im Umkehrschluss, dass es deine Aufgabe als Entwickler ist, alle benötigten Funktionen bereitzustellen und alle Eventualitäten zu berücksichtigen.
    Also musst du als allerersten einmal dir alle Funktionen, die dein...
  • Forum: Datenbanken

    AW: Kundenliste

     
      by Hobbycoder, 19. Apr 2017
    Ich habe mal ein bisschen rumgespielt, und mir mal eine Zeitmessung eingebaut.

    Bei 47416 Datensätzen dauert
    das Laden aus der DB: 17 Sek.
    das Füllen des Listview: 232 Sek.
    das Speichern (mit deinem Fehler): 398 Sek. (weil ja fehlerhafterweise jeder Datensatz mit Insert neu eingefügt wird).

    Damit könnte keiner arbeiten. Selbst wenn du den Fehler beseitigst, wird die Zeit für das...
  • Forum: Datenbanken

    AW: Kundenliste

     
      by Hobbycoder, 19. Apr 2017
    Du hättest als erstes mal die Möglichkeit einen Haltepunkt am Anfang der SaveToDB-Routine zu setzen, und mit F8 mal schrittweise durchzusteppen. Dann schaust du dir erst mal den Wert von CustomerList.Count an, ob der überhaupt bei 2000 liegt, bzw. sich jedes mal verdoppelt.
    Dann würde ich mal einen Blick auf die ID werfen. Wenn die >-1 ist, springt er auf das richtige SQL-Statement (Update)?...
  • Forum: Datenbanken

    AW: Kundenliste

     
      by Hobbycoder, 18. Apr 2017
    also das speichern geht bei mir wunderbar. Wenn gleich es auch sehr lange dauert.

    Generell ist es natürlich besser, die veränderten Daten gleich zu speichern. Du brauchst lediglich zu dem Object TCustomer zwei Methoden zum Speichern und zum Löschen hinzufügen. Beim Speichern wieder die ID rüfen, wenn =-1 dann insert sonst update. Und in der Mainform rufst du die dann bei den Buttons passen...
  • Forum: Datenbanken

    AW: Kundenliste

     
      by Hobbycoder, 18. Apr 2017
    Das hängt jetzt aber vom Ziel ab. Es könnte ja sein, dass alle Änderungen erst durch den Button "DB speichern" wirklich in die DB geschrieben werden sollen und nicht OnDemand.
    Wenn er es so lässt, wie es jetzt ist, könnte er zumindest ein versehentliches Löschen durch "DB laden" schnell wieder rückgängig machen.

    Ansonsten könnte man das so machen.
  • Forum: Datenbanken

    AW: Kundenliste

     
      by Hobbycoder, 18. Apr 2017
    Die Sache ist auch ganz einfach.

    In der procedure connect öffnest du deine Datenbank und machst das Select über die Tabelle. Dort rufst du auch die Methode saveTableData auf, die wiederum die Daten auf deinem Listview ausgibt. Fertig.
    Wenn du dann über den Button Bearbeiten ein Item der ObjectList holen willst, geht das nicht, weil du da auch nie was reingeschrieben hat.
    Die ist nämlich...
  • Forum: Datenbanken

    AW: Kundenliste

     
      by Hobbycoder, 18. Apr 2017
    alles schon gar nicht schlecht.

    Aber es müssen lediglich die SQL-Statements in den If-Block und das Bestücken von ID.
    Außer dem, das parseSQL muss vor dem Zuweisen von Werten passieren. Danach macht's keinen Sinn mehr, bzw. wirkt sich nur auf den nächsten Schleifendurchlauf aus.

    In etwa so:
    procedure TCustomerList.SavetoDB(con: TZConnection);
    var
    zqryMain: TZQuery;
    i: Integer;
  • Forum: Datenbanken

    AW: Kundenliste

     
      by Hobbycoder, 17. Apr 2017
    Beim Update ist ja noch eine where Klausel dabei, die ja auch einen Parameter hat. Das musst du natürlich auch über ein if berücksichtigen.
    Deswegen sind es einmal 7 und einmal 8. im insert wird die ID ja nicht benötigt.
  • Forum: Datenbanken

    AW: Kundenliste

     
      by Hobbycoder, 17. Apr 2017
    Im Grunde bist du doch schon recht weit. Nur die SaveToDB-Routine läuft noch nicht so, wie du es dir vorgestellt hast (wenn ich das richtig verstanden habe).

    Es gibt ja grundsätzlich 2 Möglichkeiten mit Daten in einer DB zu arbeiten.
    1. Mit laufender Verbindung zu der Tabelle, z.B. über ein geöffnetes TQuery oder TTable und über ein DataSource das ganze an Datensensitive Componenten zu...


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=Hobbycoder&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=192392
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 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