//==============================================================================
// Verbindung zur Datenbank herstellen
//==============================================================================
procedure TForm1.ConnectToDatabase;
begin
if not AdoConnectionMetro.Connected then
begin
AdoConnectionMetro.ConnectionString := ProvString;
//'Provider=SQLOLEDB.1;Password=*******;Persist Security Info=True;'+
// 'User ID=sa;Initial Catalog=METRO;Data Source=METROSQL\SQLEXPRESS';
try
AdoConnectionMetro.Connected := true;
// ADOQueryMETRO.Active := true;
except
on E :
Exception do begin
MELDUNG := 'VERBINDUNGSFEHLER : '+ E.Message;
writelog;
FEHLER := 1;
application.Terminate;
form1.Close;
ABORT;
EXIT;
end;
end;
end;
end;
//==============================================================================
// Verarbeitung starten
//==============================================================================
procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
liste : TStringDynArray;
sTEXT,DATNAME : string;
test : variant;
begin
try
memo1.Clear;
memo1.Lines.LoadFromFile(FILEPFAD +'\'+ FileDat);
MELDUNG := FilePFAD + '\' + FileDat + ' ... eingelesen';
WRITELOG;
except
MELDUNG := '[FEHLER:] Konnte
CSV Datei nicht öffnen ...';
WRITELOG;
Application.Terminate;
end;
I := 0;
MELDUNG := 'Es werden ['+IntToStr(memo1.Lines.Count)+'] Zeilen verarbeitet !';
Writelog;
ADOQueryMetro.SQL.Clear;
ADOQueryMetro.SQL.Text := 'INSERT into PRODUKTE (EAN_NR, ART_BEZ_ALTERN, '+
'PWHG, PWG, PWUG, KZ_WERB) '+ //, WERB_ID, WERB_ZEITR_VON, WERB_ZEITR_BIS, '+
//'BAS_GROESSE, UWD_MASSENEINHEIT_SL, VK_PREIS_BR, VK_PREIS_ALT_BR, '+
//'VK_PREIS_WERB_BR, GRUNDPREIS_BR, GRUNDPREIS_ALT_BR, GRUNDPREIS_WERB_BR, '+
//'AKTIONSBEGINN, AKTIONSENDE) ' +
'VALUES (:sEAN_NR, :sART_BEZ_ALTERN, :sPWHG, :sPWG, :sPWUG, :sKZ_WERB)';
while memo1.Lines.Count <> i do begin
sTEXT := memo1.Lines[i];
Liste := EXPLODE(';',sTEXT);
// Daten Speichern
IF (sTEXT <> '') and (LISTE[0] <> 'EAN_NR') then
begin
// SATZ_SPEICHERN; //
ADOQueryMETRO.Parameters.ParamByName('sEAN_NR').Value := LISTE[0];
ADOQueryMETRO.Parameters.ParamByName('sART_BEZ_ALTERN').Value := LISTE[5];
ADOQueryMETRO.Parameters.ParamByName('sPWHG').Value := LISTE[7];
ADOQueryMETRO.Parameters.ParamByName('sPWG').Value := LISTE[8];
ADOQueryMETRO.Parameters.ParamByName('sPWUG').Value := LISTE[9];
ADOQueryMETRO.Parameters.ParamByName('sKZ_WERB').Value := LISTE[10];
//------------------------
try
ADOQueryMETRO.ExecSQL;
except
on E :
Exception do begin
MELDUNG := 'Doppelter Datensatz(EAN) : ' + LISTE[0] +' | ' +E.Message;
Showmessage(MELDUNG);
writelog;
end;
end
end;
i := i +1;
// memo1.Lines.Delete(0);
end;
MELDUNG := 'Es wurden ['+ IntToStr(i) + '] Zeilen verarbeitet...';
WRITELOG;
DATNAME := leftstr(dateToStr(date),2)+midstr(dateToStr(date),4,2)+
leftstr(TimeToStr(time),2)+midstr(timeToStr(time),4,2)+
midstr(timeToStr(time),7,2)+'.CSV';
// movefile(PChar(FILEPFAD+ '\' + FileDat),PChar(sichPFAD+'\'+DATNAME));
MELDUNG := FILEPFAD + '\' + FileDat+' nach '+ sichPfad + '\'+DATNAME+' verschoben !!';
//frmLOGBUCH.memo.Lines.Add('c:\wa_order.txt nach c:\sich_order\'+DATNAME+' verschoben !!');
writelog;
MELDUNG := 'VERARBEITUNG abgeschlossen !! - Keine FEHLER !';
WRITELOG;
//Form1.close;
end;