Hallo miteinander. Ich habe da ein Problem mit einer SP, die mehrere Datensätze in eine Ziel-Tabelle einfügen soll. Diese läuft auch problemlos durch, jedoch werden die ersten aus der Quell-Tabelle gelesenen Datensätze dupliziert. Warum? Der Code sieht folgendermaßen aus:<br>
<pre>
procedure TwzPlandatenCopy.Update_P_1(Sender: TObject);
begin
PlandatenQ.Open;
PlandatenQ.First;
while PlandatenQ.EOF = False do begin
with Plandaten_CPY do begin
ParamByName('JAHR').AsInteger := VariantenJAHR.Value;
ParamByName('VARIANTE').AsInteger := VariantenVARIANTE.Value;
ParamByName('TARIFERH').AsFloat := VariantenTARIFERH.Value;
ParamByName('NUMMER').AsString := PlandatenQNUMMER.Value;
ParamByName('GBESTANDTEIL').AsInteger :=
PlandatenQGBESTANDTEIL.Value;
ParamByName('ERH').AsString := PlandatenQERH.Value;
ParamByName('JAN').AsFloat := PlandatenQTJAN.Value;
ParamByName('JANZU').AsFloat := PlandatenQTJANZU.Value;
ParamByName('FEB').AsFloat := PlandatenQTFEB.Value;
ParamByName('FEBZU').AsFloat := PlandatenQTFEBZU.Value;
ParamByName('MAR').AsFloat := PlandatenQTMAR.Value;
ParamByName('MARZU').AsFloat := PlandatenQTMARZU.Value;
ParamByName('APR').AsFloat := PlandatenQTAPR.Value;
ParamByName('APRZU').AsFloat := PlandatenQTAPRZU.Value;
ParamByName('MAI').AsFloat := PlandatenQTMAI.Value;
ParamByName('MAIZU').AsFloat := PlandatenQTMAIZU.Value;
ParamByName('JUN').AsFloat := PlandatenQTJUN.Value;
ParamByName('JUNZU').AsFloat := PlandatenQTJUNZU.Value;
</pre>
und so weiter...<pre>
Plandaten_CPY.Prepare;
Plandaten_CPY.ExecProc;
end;
PlandatenQ.Next;
end;
PlandatenQ.Close;
end;</pre>
Wer weiß Rat? Bin für jede Hilfe dankbar.
<pre>
procedure TwzPlandatenCopy.Update_P_1(Sender: TObject);
begin
PlandatenQ.Open;
PlandatenQ.First;
while PlandatenQ.EOF = False do begin
with Plandaten_CPY do begin
ParamByName('JAHR').AsInteger := VariantenJAHR.Value;
ParamByName('VARIANTE').AsInteger := VariantenVARIANTE.Value;
ParamByName('TARIFERH').AsFloat := VariantenTARIFERH.Value;
ParamByName('NUMMER').AsString := PlandatenQNUMMER.Value;
ParamByName('GBESTANDTEIL').AsInteger :=
PlandatenQGBESTANDTEIL.Value;
ParamByName('ERH').AsString := PlandatenQERH.Value;
ParamByName('JAN').AsFloat := PlandatenQTJAN.Value;
ParamByName('JANZU').AsFloat := PlandatenQTJANZU.Value;
ParamByName('FEB').AsFloat := PlandatenQTFEB.Value;
ParamByName('FEBZU').AsFloat := PlandatenQTFEBZU.Value;
ParamByName('MAR').AsFloat := PlandatenQTMAR.Value;
ParamByName('MARZU').AsFloat := PlandatenQTMARZU.Value;
ParamByName('APR').AsFloat := PlandatenQTAPR.Value;
ParamByName('APRZU').AsFloat := PlandatenQTAPRZU.Value;
ParamByName('MAI').AsFloat := PlandatenQTMAI.Value;
ParamByName('MAIZU').AsFloat := PlandatenQTMAIZU.Value;
ParamByName('JUN').AsFloat := PlandatenQTJUN.Value;
ParamByName('JUNZU').AsFloat := PlandatenQTJUNZU.Value;
</pre>
und so weiter...<pre>
Plandaten_CPY.Prepare;
Plandaten_CPY.ExecProc;
end;
PlandatenQ.Next;
end;
PlandatenQ.Close;
end;</pre>
Wer weiß Rat? Bin für jede Hilfe dankbar.
Comment