![]() |
Datenbank: Mysql • Version: weiß ich nicht • Zugriff über: Direct
Sonderzeichen / UPDATE
Hi ich bräuchte nochmal hilfe bei SQL
Also ich möchte gerne folgende Sachen in einer Tabelle ändern.
SQL-Code:
Wie man vieleicht sieht möchte ich sodnerzeichen in der Tabelle mit z.B. \204 stehen haben.
UPDATE tabelle SET spalte1="wert1", spalte2="wert2",spalte3="Blabla \204 blub "hallo"" WHERE (spalte4="wert4"AND spalte5="wert5" );
Allerdings streicht der mir bei sql den Backslash. Das 2. ist das "Wort". Wie kann ich in sql diese so einbinden das sie nicht den Wert beenden sondern als Zeichen in die Tabelle geschrieben werden? [also " als Zeichen in die Tabelle] Hoffe ihr habt die Frage verstanden. Schonmal vielen Dank im vorraus. (Und nochmal vielen Dank für die letzten beantworteten Fragen von mir) |
Re: Sonderzeichen / UPDATE
Verdopple mal den Slash
|
Re: Sonderzeichen / UPDATE
Ok probiere ich aus moment bitte
|
Re: Sonderzeichen / UPDATE
Nimm parametrisierte Abfragen!
Ansonsten der Tipp: MySQL erfordert ein ähnliches Escapen wie man es bei C/C++ gewohnt ist bei "\" muss dieser je nach Art von Abfrage sogar doppelt escaped werden "\\\\" |
Re: Sonderzeichen / UPDATE
Werde dann in ner Stunde sehen ob es funktioniert.
Die " wie bekomme ich die rein? mit \"? Von parametrisierte Abfragen habe ich keine Ahnung wie geht sowas? |
Re: Sonderzeichen / UPDATE
Verwende wie gesagt parameter, dann hast du die ganzen Probleme nicht.
SQL-Code:
UPDATE tabelle SET spalte1=:wert1, spalte2=:wert2, spalte3=:wert3 WHERE spalte4=:wert4 AND spalte5=:wert5;
|
Re: Sonderzeichen / UPDATE
Und wo ahbe ich da Parameter verwandt? Ist in meinen Augen das Gleiche wie oben....
|
Re: Sonderzeichen / UPDATE
Zitat:
![]() Zitat:
Für genaueren Code müsstest du die Frage "Zugriff über" konkret beantworten. Jürgen |
Re: Sonderzeichen / UPDATE
:wert1, :wert2 usw. sind Parameter, welche man später durch die werte ersetzen kann. Dadurch erspart man sich das Quoten und casrten in String.
|
Re: Sonderzeichen / UPDATE
Ich nutze Parameter mit Begeisterung, stolperte gestern jedoch über ein Problem.
Verwende die Zeos-Libs und MySQL.
Delphi-Quellcode:
Wenn ein Parameter am Ende ein '\' enthält, dann schlägt die Funktion fehl und ich bekomme die Exception 'Incorrect token followed by ":"'
DM_Database.qMessage.SQL.Add ('update messages set ');
DM_Database.qMessage.SQL.Add ('Text=:Text1, '); DM_Database.qMessage.SQL.Add ('Comment=:Comment1'); DM_Database.qMessage.SQL.Add (' where Section_ID = ' + IntToStr(Message_To_Edit.section_id_old) + ' and' + ' Message_ID = ' + IntToStr(Message_To_Edit.message_id_old) + ' and' + ' Lang_ID = ' + IntToStr(Message_To_Edit.lang_id)); DM_Database.qMessage.ParamByName('Text1').AsString := Message_To_Edit.text_new; DM_Database.qMessage.ParamByName('Comment1').AsString := Message_To_Edit.comment_new; Wie kann man das umschiffen? Liegt das an den Zeos-Libs? Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 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 by Thomas Breitkreuz