Zusätzliche Hochkommata in SQL-Anweisung

Arne Buchwald

Erfahrenes Mitglied
Hallo,

ich habe folgende SQL-Anweisung:
Code:
          for i := 1 to mySQLQuery.RecordCount do
          begin
            with MySqlQuery3 do
            begin
              Active := False;
              SQL.Clear;
              SQL.Add('INSERT INTO ' + tableprefix + 'templates VALUES (' + IntToStr(last_id) + ', ' +
                mySQLQuery.FieldByName('title').AsString + ', ' + mySQLQuery.FieldByName('value').AsString +
                ', ' + '0' + ', ' + nt_templatesetid + ')');
              ExecSQL;
            end;
            inc(last_id);

            mySQLQuery.Next;
          end;
Soweit alles in Ordnung. Im Feld value der Datensätze stehen HTML-Templates. Beim Ausführen des Quellcodes kommt folgende Fehlermeldung:

Internal Application Error
MySQLQuery3: You have an error in your SQL syntax near '
<#head>

/style
Ich vermute, dass in einigen Templates zusätzliche Hochkommata enthalten sind, die die SQL-Anweisung ungültig machen. Wie löse ich dieses geschickt oder hat sonst jemand eine Idee, welche Ursache die Fehlermeldung haben könnte ?
 

Arne Buchwald

Erfahrenes Mitglied
Hi Patrick,

nein, das ist nicht nötig. :)

Ich hatte das Problem schon mal, dass Delphi Eingaben aus einem Formular, die ein Hochkomma enthalten, manchmal wie Quasi-Quellcode anssieht und dann natürlich einen Syntaxfehler ausgibt.

Ich habe es jedoch nicht geschafft, den Fehler zu reproduzieren.
 

Arne Buchwald

Erfahrenes Mitglied
Ich Schlafmütze. ;)

Da sieht man den Wald vor lauter Bäumen nicht mehr. QuotedStr() habe ich total übersehen.

Problem gelöst. :)