![]() |
'\'AUTO' in ein Textfeld einer mySQL-DB schreiben
Hallo!
bei mir liegt folgendes Problem vor: Ich habe eine Anwendung geschrieben, die Text-Datein ausliest und den Inhalt in eine mySQL-Datenbank schreibt. In den Text-Datein sind E-Mails abgelegt... Die Anwendung funktoniert eigentlich ganz gut, bis auf eine Sache: In einer Textdatei steht in einigen Zeilen: '\'AUTO' Diesen String kann ich nicht in die DB übernehmen...
Delphi-Quellcode:
(Ich greife über die C-API auf die mySQL-Datenbank zu...)
function TDataBaseModule.ExecuteQuery(strQuery : String) : Boolean;
//------------------------------------------------------------------------------ // Sendet eine Anfrage an die Datenbank // --------------------------------------------------------------------------- // Rückgabewert(out) : konnte die Anfrage ausgeführt werden? // true = ja / false = nein // --------------------------------------------------------------------------- // ruft auf : // mysql_real_query() : Anfrage an die DB senden // --------------------------------------------------------------------------- // Vorbedingung : // Bevor Anfrage an die DB gesendet werden kann, muss eine Verbindung zum // Datenbank-Server bestehen und eine Datenbank ausgewählt worden sein //------------------------------------------------------------------------------ begin if not Connected then begin Result := False; ShowMessage(C_ERRORMESSAGEDBNOTCONN) end else if mysql_real_query(DataBaseSocket, PAnsiChar(strQuery), Length(strQuery)) <> 0 then begin Result := False; ShowMessage(mysql_error(DataBaseSocket)) end else Result := True end; function TDataBaseModule.InsertConvertEMail(const EMail : TConverterEMail) : Boolean; //------------------------------------------------------------------------------ // Fügt eine EMail in die Datenbank ein // --------------------------------------------------------------------------- // Parameter : // EMail (in) : EMail die eingefügt werden soll // --------------------------------------------------------------------------- // Rückgabewert(out) : Konnte die EMail in die DB eingefügt werden? // true = ja / false = nein // --------------------------------------------------------------------------- // globale Zugriffe : // self.DataChanged : globales Flag, zum Speichern, ob sich Daten geändert haben // --------------------------------------------------------------------------- // ruft auf : // self.ExecuteQuery : Anfrage an den Datenbank-Server senden // FormatDateTime : Formatierung eines TDateTime-Wertes in einen String, der im // Datenbank-konformen-Format vorliegt // --------------------------------------------------------------------------- // Vorbedingung : // Bevor eine EMail in die DB eingefügt werden kann, muss eine Verbindung // zum Datenbank-Server bestehen und eine Datenbank ausgewählt worden sein //------------------------------------------------------------------------------ begin Result := ExecuteQuery('INSERT INTO '+ C_TMPMAILTABLENAME + ' ' + '(TrackingId, Recipient, Sender, Date, ' + 'Subject, MsgText, Attachment) VALUES (' + QuotedStr(EMail.TrackingId) + ',' + QuotedStr(EMail.Recipient) + ',' + QuotedStr(EMail.Sender) + ',' + '''' + FormatDateTime(C_SQLDATETIMEFORMAT,EMail.Date) + ''''+ ',' + QuotedStr(EMail.Subject) + ',' + QuotedStr(EMail.MsgText) + ',' + // Hier entsteht der Einfügefehler QuotedStr(EMail.Attachment) + // Wenn MsgText := '\'AUTO' ')'); if Result then // Wenn EMail erfolgreich eingefügt wurde, haben sich Daten in DataChanged := True // der DB geändert end; Wie soll ich das Quoten??? Gruß, Steffen |
Re: '\'AUTO' in ein Textfeld einer mySQL-DB schreiben
Mach aus dem \Auto einfach ein \\Auto, dann klappt es!
Habe immer die gleichen Probs, wenn ich Verzeichnisse speichern will. Liegt an dem \, ist glaube ich ein Steuerzeichen oder sowas! Gruß Matt |
Re: '\'AUTO' in ein Textfeld einer mySQL-DB schreiben
Zitat:
Ich glaube aber auch das es mit den ' Zeichen zusammenhängt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz