Einfügen von Strings (Singlequoted) mit Semicolon im String.
Code:
tblData.First;
WriteLn(SqlFile, 'INSERT INTO Mediathek (' + QuotedStr('ID') + ',' + QuotedStr('Interpret') + ',' + QuotedStr('Album') + ',' + QuotedStr('Titel') + ',' + QuotedStr('FileName') + ') VALUES');
Caption := tblData.RecordCount.ToString;
for Loop := 0 to tblData.RecordCount - 2 do begin
WriteLn(SqlFile, '(' + tblDataID.AsString + ',' + QuotedStr(tblDataInterpret.AsWideString) + ',' + QuotedStr(tblDataAlbum.AsWideString) + ',' + QuotedStr(tblDataTitel.AsWideString) + ',' + QuotedStr(tblDataFileName.AsWideString) + '),');
tblData.Next;
Application.ProcessMessages;
end;
tblData.Last;
WriteLn(SqlFile, '(' + tblDataID.AsString + ',' + QuotedStr(tblDataInterpret.AsWideString) + ',' + QuotedStr(tblDataAlbum.AsWideString) + ',' + QuotedStr(tblDataTitel.AsWideString) + ',' + QuotedStr(tblDataFileName.AsWideString) + ');');
Dabei gibt es das Problem das wegen dem Semicolon ein Fehler auftritt. (Vermutlich auch bei '). ALso der Fehler entsteht beim einlesen der
SQL-Datei, zB. mit HeidiSQL.
Beispiel einer Zeile:
INSERT INTO Mediathek ('ID','Interpret','Album','Titel','FileName') VALUES
(9,'Jethro Tull','Benefit','Sossity
; You''re a Woman','M:\Musik\Jethro Tull\Benefit\10 Sossity
; You''re a Woman.mp3');
...
Ich finde die Lösung einfach nicht.