AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi zeilen werden ignoriert...
Thema durchsuchen
Ansicht
Themen-Optionen

zeilen werden ignoriert...

Ein Thema von Sulustaner2004 · begonnen am 16. Mär 2004 · letzter Beitrag vom 17. Mär 2004
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#11

Re: zeilen werden ignoriert...

  Alt 16. Mär 2004, 12:54
Zitat von Sulustaner2004:
ok...alles schön und gut...aberwenn ich das mache bekomm ich eine fehlermeldung !!! und zwar diese...
[i]Im Projekt daten.exe ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 00404117C in Modul 'Daten.exe' Schreiben von Adresse 00000000'.
prozess angehalten.
Wenn Du was machst?
Wenn SetStr einen Wert enthält wird der Code ja auch ausgeführt. Jetzt kannst Du über einen Breakpoint und schrittweise ausführen des Programms herausbekommen an welcher Stelle die SV
auftritt. Ich vermute mal an dieser Stelle
Delphi-Quellcode:
      For i := 0 To pred(SetCount) Do
        Parameters.ParamByName('i_F' + IntToStr(i)).Value := SetVals[i]
Der SQL Ausdruck enthält keinen Parameter, der mit i_F beginnt.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#12

Re: zeilen werden ignoriert...

  Alt 16. Mär 2004, 12:59
Du hast mal wieder was kopiert, ohne dir den Rest anzuschauen...

@Jens Ich glaube es knallt bei "...Value := SetVals[i];"
dort wird auf einen Eintrag im Array zugegriffen, den es noch nicht gibt!

Das muss passieren bevor du weiter machst (Sonst gibt's eine ziemlich schräges UPDATE-Statement ).

Delphi-Quellcode:
  SetCount := 0;
  // Arraylänge auf ANzahl der TEdits
  SetLength(SetVals, CompNames.Count);

  For i := 0 To pred(CompNames.Count) Do
  Begin
    With FindComponent(CompNames[i]) As TEdit Do
      If Text <> 'Then
      Begin
        // Wenn Edit <> '' -> Wert in den Array & Spalte kommt mit in die SET-Clause...
        SetVals[SetCount] := Text;
        SetStr := SetStr + ',' + #10 + ' ' + Fieldnames[i] + ' = :' + 'i_F' + IntToStr(SetCount);
        inc(SetCount);
      End;
  End;
  // Entferne erstes Komma & Leerzeichen
  SetStr := Copy(SetStr, 10, Length(SetStr));
  Mit Zitat antworten Zitat
Sulustaner2004

Registriert seit: 14. Jan 2004
106 Beiträge
 
Delphi 7 Professional
 
#13

Re: zeilen werden ignoriert...

  Alt 16. Mär 2004, 12:59
nein...er springt an dieser stelle mit der meldung raus...
Delphi-Quellcode:
...
  SetStr := SetStr + ',' + #10 + ' ' + Fieldnames[i] + ' = :' + 'i_F' + IntToStr(SetCount);
...
Und das leben geht weiter.....
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#14

Re: zeilen werden ignoriert...

  Alt 16. Mär 2004, 13:03
Dann hast du nicht zu jedem Eintrag in CompNames einen zu Fieldnames hinzugefügt...
  Mit Zitat antworten Zitat
Sulustaner2004

Registriert seit: 14. Jan 2004
106 Beiträge
 
Delphi 7 Professional
 
#15

Re: zeilen werden ignoriert...

  Alt 16. Mär 2004, 13:09
wie meinst du das ???
du meinst jedes feld eingetragen unter comp und fieldnames ??? das habe ich getan !!!!
Und das leben geht weiter.....
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#16

Re: zeilen werden ignoriert...

  Alt 16. Mär 2004, 13:12
Ich meinte, dass du zu jeder Zeile von CompNames auch eine in FieldNames brauchst.
Dadurch kennt die Schleife die passende Spalte zu jedem Edit.

Ich habe mir gerade deine UNIT gesaugt -> Du legst vor der Schleife die Länge des Arrays nicht fest -> Es knallt also eine Zeile früher.
SetCount muss unbedingt vor der Schleife auf 0 gestzt werden genau wie Die Länge des Arrays der Anzahl von CompNames entsprechen muss.
Delphi-Quellcode:
  SetCount := 0;
  // Arraylänge auf ANzahl der TEdits
  SetLength(SetVals, CompNames.Count);
Ansonsten befindet sich SetCount hier außerhalb des Arrays.
SetVals[SetCount] := Text;
  Mit Zitat antworten Zitat
Sulustaner2004

Registriert seit: 14. Jan 2004
106 Beiträge
 
Delphi 7 Professional
 
#17

Re: zeilen werden ignoriert...

  Alt 16. Mär 2004, 13:19
ok...soweit so gut...das klappt jetzt ja auch...aber warum speichert er es denn nicht ab ??? das versteh ich nicht !!!
Und das leben geht weiter.....
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#18

Re: zeilen werden ignoriert...

  Alt 16. Mär 2004, 13:39
Zeige mal Das UPDATE-Statement, das von zusammengebaut & abgesetzt wird (das schaffst du am einfachsten so wie Sharky es in deinem anderen Thread beschrieben hatte)
  Mit Zitat antworten Zitat
Sulustaner2004

Registriert seit: 14. Jan 2004
106 Beiträge
 
Delphi 7 Professional
 
#19

Re: zeilen werden ignoriert...

  Alt 16. Mär 2004, 13:47
also das ist es wenn du das meintest....

Delphi-Quellcode:

...
 With ADOQuery1 Do
    Begin
      SQL.Text :=
        'Update dbo_VFL_VERZ_TEMP t' + #10 +
        'Set ' + SetStr + #10 +
        'WHERE t.Bearbeiter = :i_Versuch';
      Prepared := True;
      // Werte der Paramter :i_F(1 - ...)
      For i := 0 To pred(SetCount) Do
        Parameters.ParamByName('i_F' + IntToStr(i)).Value := SetVals[i];
        // Hier
        Parameters.ParamByName('i_Versuch').Value := TB_Bearbeiter.Text;
      // Ausführen
      ExecSQL;

...
Und das leben geht weiter.....
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#20

Re: zeilen werden ignoriert...

  Alt 16. Mär 2004, 13:50
Zeihe ein Memo auf dein Form, kommentiere ExecSQL aus und schreibe SQL.Text in das Memo anstatt ExecSQL aufzurufen.
Delphi-Quellcode:
// Ausführen
// ExecSQL;
 Memo1.Text := Sql.Text;
Den Text kannst du dann kopieren und hier posten (mit SQL-tags bitte)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 23:40 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