Hallo taveuni,
vielen Dank für Deine Ausführungen.
Das Feld ist VarChar(13). Die Abfrage mit Parameter ergibt dasselbe Ergebnis !
Hier der geänderte Code:
Code:
//==============================================================================
// DATENBANK sichern
//==============================================================================
Procedure Tform1.DB_SICH;
begin
Showmessage(IntToStr(BACKZAHL));
if BACKZAHL = 1 then begin
// leere die BACKUP-
DB Nr. 1
ADOQueryMetro.SQL.Clear;
ADOQueryMetro.SQL.Text := 'TRUNCATE table dbo.PRODUKTE_01';
ADOQueryMETRO.ExecSQL;
SHowmessage('
DB leer');
// Füge Datensätze an
ADOQueryMETRO.SQL.Clear;
ADOQueryMETRO.SQL.Text := 'INSERT INTO PRODUKTE_01 '+
' SELECT * FROM PRODUKTE Where EAN_NR <> :sEAN_NR';
ADOQueryMETRO.Parameters.ParamByName('sEAN_NR').Value := '';
ADOQueryMETRO.ExecSQL;
Showmessage('tabelle kopiert');
end;
end;
Das einfache Select-Statement (SELECT * from PRODUKTE where EAN_NR <> '') ergibt :
15580 Reihen abgerufen (577 ms)
Gruss nachtstreuner60