Einzelnen Beitrag anzeigen

Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
824 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Insert + Select für mehrer Zeilen

  Alt 30. Jan 2009, 10:59
Hallo nochmal.

Ich habe es jetzt wie folgt versucht:
Delphi-Quellcode:
{===================================================================================================}
//anschieben NEU
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) - 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 + KDLD.Text + #39 + ')';
      MenueUnit.ExecQuery(DB, query, Cols, Rows);
    end;
  fs.DateSeparator := '.' ;
  fs.ShortDateFormat := 'dd.mm.yyyy' ;
  LieferdatumDeu := StrToDate (Menue.Datum.Caption,fs) ;
  LieferdatumEN1 := FormatDateTime ('YYYY-mm-dd',LieferdatumDeu) ;

  query:= 'insert into beobachten (Datum) values ( ' + #39+LieferdatumEN1+#39 + ') where WAAUNR= '+
          FANR1.Caption + 'and WAAUPO= ' + FANR2.Caption;
  MenueUnit.ExecQuery(DB, query, Cols, Rows);
  MenueUnit.disconnect;
end;

{===================================================================================================}
Leider habe ich das Problem, dass in
for i := 0 to length(rows[0]) - 1 do kein Wert geschrieben wird, obwohl Werte in rows drinstehen...
Patrick
  Mit Zitat antworten Zitat