AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Count() + Datensätze überschreiben
Thema durchsuchen
Ansicht
Themen-Optionen

Count() + Datensätze überschreiben

Ein Thema von -187- · begonnen am 11. Mai 2011 · letzter Beitrag vom 12. Mai 2011
 
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#1

Count() + Datensätze überschreiben

  Alt 11. Mai 2011, 23:05
Datenbank: Firebird • Version: 2 • Zugriff über: IB
Moin ! Ich hab ein seltsames Problem zu dem mir keine Überschrift einfällt ^...

Folgendes habe ich vor:

1. Zähle alle Datensätze die den Status Valid haben.
2. Überschreibe alle Datensätze mit dem Status Waiting die nicht den Status Valid haben.

--> Nach dem überschreiben hatte ich aufeinmal weniger "Valids" als vor dem schreiben. Also mach ich noch:
3. Zähle nochmal alle Datensätze

Ergebnis zu 1.: 119
Ergebnis zu 3.: 71

Source:
Delphi-Quellcode:
    //Zählung 1
    JobQuery1.Close;
    JobQuery1.SQL.Clear;
    JobQuery1.SQL.Add('SELECT COUNT(STATUS) FROM JOBTABLE WHERE STATUS=''Valid'';');
    JobQuery1.Open;
    ShowMessage(JobQuery1.Fields[0].AsString);

    //Alle nicht "Valid" überschreiben
    JobDBGrid1.DataSource.DataSet.DisableControls;
    JobTable1.First;
    while not JobTable1.Eof do
    begin
      RowNumber:=JobTable1.FieldByName('ROWNUMBER').AsString;
      if not (JobTable1.FieldByName('STATUS').AsString='Valid') then
      begin
        myList.Add(RowNumber);
        JobQuery1.Close;
        JobQuery1.SQL.Clear;
        JobQuery1.SQL.Add(Format('UPDATE %s SET '+
        '%s = ''%s'''+
        'WHERE ROWNUMBER = ''%s'';', [fMain.JobTable1.TableName,'STATUS','Waiting',RowNumber]));
        JobQuery1.Open;
        JobQuery1.Close;
      end;
      JobTable1.Next;
    end;
    JobDBGrid1.DataSource.DataSet.EnableControls;

    //Zählung 2
    JobQuery1.Close;
    JobQuery1.SQL.Clear;
    JobQuery1.SQL.Add('SELECT COUNT(STATUS) FROM JOBTABLE WHERE STATUS=''Valid'';');
    JobQuery1.Open;
    ShowMessage(JobQuery1.Fields[0].AsString);




Edit: Moment, eine Sache prüfe ich nochmal

Geändert von -187- (11. Mai 2011 um 23:11 Uhr)
  Mit Zitat antworten Zitat
 


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:13 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