Zitat von
cheatzs:
Delphi-Quellcode:
...
if SQLConnection.Connected then
begin
DateSeparator := '-';
ShortDateFormat := 'yyyy-mm-dd hh:mm:ss';
SQLConnection.Query('INSERT INTO '+Table+' (sName, sPath, cLength, wPriority, wState, dtDate, sHash, cLastTimeSend, cDownloaded, wLevel) VALUES ('''+AFile.sName+''', '''+EscapeStr(AFile.sPath)+''', '+inttostr(AFile.cLength)+', '+inttostr(AFile.wPriority)+', '+inttostr(AFile.wState)+', '''+datetostr(AFile.dtDate)+''', '''+AFile.sHash+''', '+inttostr(AFile.cLastTimeSend)+', '+inttostr(AFile.cDownloaded)+ ', '+inttostr(AFile.wLevel)+')',FALSE,fExecuting);
if Table = conWorkUnitdb then
SQLConnection.Query('INSERT INTO wr_relation (sWorkUnitHash) VALUES ('''+AFile.sHash+''');',FALSE,fExecuting);
end;
...
*hüstel*
Dir ist schon klar, dass du der armen
DB mit jeder Zeile ein vollkommen neues Statement um die Ohren knallst ?!
Gibt es bei der Klasse TMysqlClient keine Möglichkeit Parameter zu verwenden?
Dadurch würde die
DB nur einmal: das Stattment parsen,die Berechtigungen prüfen, und einen Ablaufplan erstellen müssen.
Vor jedem Ausführen übergibst du den Parametern ihre Werte und das war's auch schon.
Was Parameter sind dürfte eine Suche nach [
dp:bbf211068b=Parameter AND
SQL]Parametern und
SQL[/
dp:bbf211068b] zeigen.
BTW: Das ist schon ein verdammt hässlicher Code block.