Registriert seit: 29. Dez 2006
Ort: NRW
831 Beiträge
Delphi 10.4 Sydney
|
Re: Insert + Select für mehrer Zeilen
30. Jan 2009, 12:34
Okay, es lag nicht an der For-Schleife...
Mit diesem Code habe ich es nun geschafft! 8)
Delphi-Quellcode:
procedure TFA_anschieben.Button2Click(Sender: TObject);
var Cols: TCols;
Rows: TRows;
query: string;
i:integer;
LieferdatumEN1: string;
LieferdatumDeu : TDate ;
fs : TFormatSettings ;
begin
fs.DateSeparator := ' .' ;
fs.ShortDateFormat := ' dd.mm.yyyy' ;
LieferdatumDeu := StrToDate (KdLD.Text,fs) ;
LieferdatumEN1 := FormatDateTime (' YYYY-mm-dd',LieferdatumDeu) ;
query:= ' select WAAUNR, WAAUPO, OAAGNR from as400 where WAAUNR= '+ FANR1.Caption+
' and WAAUPO= ' + FANR2.Caption;
MenueUnit.connect;
MenueUnit.ExecQuery( DB, query, Cols, Rows);
for i := 0 to length(rows[0]) - 1 do
begin
query:= ' insert into beobachten (UserID, WAAUNR, WAAUPO, OAAGNR, KdDatum) values( ' +
inttostr(menueunit.UserID) + ' ,' + rows[0,i] + ' ,' + rows[1,i] + ' ,' + rows[2,i] + ' ,' +
#39 + LieferdatumEN1 + #39 + ' )';
MenueUnit.ExecQuery( DB, query, Cols, Rows);
end;
//Anschiebedatum formatieren
fs.DateSeparator := ' .' ;
fs.ShortDateFormat := ' dd.mm.yyyy' ;
LieferdatumDeu := StrToDate (Menue.Datum.Caption,fs) ;
LieferdatumEN1 := FormatDateTime (' YYYY-mm-dd',LieferdatumDeu) ;
query:= ' Select WAAUNR, WAAUPO, OAAGNR from as400 where OATLKZ <> 9 and WAAUNR= '+
FANR1.Caption+ ' and WAAUPO= ' + FANR2.Caption + ' GROUP BY WATENR, WAAUNR ORDER BY WATENR, OAAGNR DESC';
MenueUnit.ExecQuery( DB, query, Cols, Rows);
query:= ' update beobachten set Datum = ' + #39+LieferdatumEN1+#39 + ' where WAAUNR= '+
rows[0,0] + ' and WAAUPO= ' + rows[1,0] + ' and OAAGNR= ' + rows[2,0];
MenueUnit.ExecQuery( DB, query, Cols, Rows);
MenueUnit.disconnect;
end;
{===================================================================================================}
In diesem Sinne
Ykcim
Patrick
|
|
Zitat
|