Wie ersetzt man Apostroph durch Doppelapostrop in String?

7

Ich habe eine Zeichenfolge

good overview of ESP's in more detail than you probably need .

Beim Einfügen in die SQL-Tabelle gibt es einen Fehler. Also ich möchte Apostroph in der Zeichenfolge mit Doppelapostroph wie

ersetzen

good overview of ESP''s in more detail than you probably need

Wie manipuliere ich das in c #?

    
James123 12.10.2011, 22:33
quelle

5 Antworten

10

Sehr einfach:

%Vor%

Hinweis: Es ist normalerweise sicherer, Befehlsparameter zu verwenden. Vor allem, wenn die Werte der Eingabezeichenfolgen nicht von Ihrem Code (d. H. Benutzereinträge) gesteuert werden.

    
Olivier Jacot-Descombes 12.10.2011, 22:38
quelle
8

Verwenden Sie das Parameter-Objekt.

%Vor%     
Patrick Desjardins 12.10.2011 22:38
quelle
2

Ich habe lange an diesem Problem gearbeitet. Tun Sie es auf dem Client und ersetzen Sie das einfache Zitat durch zwei einfache Anführungszeichen. Dies funktioniert, wenn Sie ein sp mit mehreren varchar Eingabeparametern ausführen. Das einzige Problem dabei ist SQL-Injection, d. H. Die Leute können sehen, was Sie auf dem Client machen, was nie eine gute Sache ist. Die einzige Möglichkeit besteht darin, SQL-Parameter auf dem Server zu verwenden, wie bereits erwähnt.

    
Otto Williams 23.10.2012 13:18
quelle
0

String.Replace(String,String) sollte gut funktionieren. In diesem Beispiel möchten Sie:

%Vor%

Allerdings glaube ich nicht, dass das Ihr Problem beheben wird. Ich stelle mir vor, du suchst besser nach:

%Vor%

Der Grund dafür ist, dass MySQL und ich mir andere Versionen von SQL vorstellen, dass Strings in einfache Anführungszeichen eingeschlossen werden.

    
Dan Ambrisco 12.10.2011 22:40
quelle
0

myCommand.InsertCommand.Parameters.Add ("@ myString", SqlDbType.VarChar, 200);   myCommand.InsertCommand.Parameters ["@ myString"]. Wert

    
Pankaj 22.12.2014 12:38
quelle

Tags und Links