Einzelnen Beitrag anzeigen

markon

Registriert seit: 12. Sep 2003
229 Beiträge
 
#4

Re: sql-update ... komisch komisch ...

  Alt 3. Dez 2003, 10:19
danke für eure hilfe.
@ blechwolf
du hast recht mit deiner theorie. das stimmt so.
das mit den letzten index erhöhen hab ich nun ausprobiert und funzt. gab aber zwischendurch kleine ungereimtheiten.
hier ist mal der code:
Delphi-Quellcode:
if rb_fp_anfang.Checked=true
   then begin
        {----- Datensatz an erster Stelle einfügen -----}
         {der kampf mit dem index dauert fast einen geschlagenen tag, doch dann war ich
        doch siegreich..
        - kein index darf doppelt vorkommen -> sonst crash mit datenbank-regeln..
        - erst wird der neue index mit 0 gefüllt, die anderen sind ja von 1 aufwärts..
        - jetzt ganz normal den neuen datensatz erzeugen
        - nach erzeugen, alle indexe um 1 erhöhen (aus 1 wird 2, und aus der 0 wird 1)
           (wobei jeder erhöhte index gleich abgespeichert werden muss "nbpost"}


          {erst index auf 0, später dann +1}
           dbe_FP_ID.Text:='0';

          DBNavigator.BtnClick(nbpost);

         {tabelle neu sortieren damit die indexreihenfolge passt}
          DM_SIML.ADOQuery_FP.SQL.Clear;
          DM_SIML.ADOQuery_FP.SQL.Add('select * from FP order by fp_id desc');
          DM_SIML.ADOQuery_FP.Active:=true;
          DM_SIML.ADOTable_FP.Active:=True;

         {werte in db ändern, um 1 addieren}
          for i:=1 to DM_SIML.ADOQuery_FP.RecordCount do
           begin
            DM_SIML.ADOQuery_FP.RecNo:=i;
           //memo1.Lines.add('recno: '+inttostr(DM_SIML.ADOQuery_FP.RecNo));
            DBNavigator.BtnClick(nbedit); //editmodus
            DM_SIML.adoquery_FP.FieldByName('FP_ID').AsInteger :=
                                   DM_SIML.adoquery_FP.FieldByName('FP_ID').AsInteger + 1;

           {jeder einzelne datensatz muss gleich abgespeichert werden um crash zu vermeiden}
            DBNavigator.BtnClick(nbpost);

           end;
        end{end-if-anfang}
was sagt ihr zu der lösung ist sie zu umständlich aber für mein problem die lösug
(bei vielen datensätzen dauert das ganze ein bischen, da jeder satz gespeichert werden muss)
  Mit Zitat antworten Zitat