Kategorien:
Suchbegriffe:
Suchfelder:
Suche starten
Neue Beiträge / Top 7
Alle Artikel / Liste
Bücher zu ASP/ASP.Net
Startseite / Hilfe
Fragen zu ASP/ASP.NET
Datenschutzrichtlinen
Impressum / Kontakt
Das ASP.Net Codebook. Die unentbehrliche Referenz für alle ASP.Net-Entwickler [Autoren: Stefan Falz, Karsten Samaschke]
Active Server Pages-FAQ
Active Server Pages - FAQ (v. 1.50) © 2000 - 2020 by Stefan Falz Webconsulting

GetFile! Dynamischer Dateiupload im Browser

Datenbankzugriffe Zurück Druckversion Stefan Falz 06.02.2001
Frage: Wie kann ich ein Apostroph ' in ein SQL-Statement einbauen?
Um ein Hochkomma ' oder ein Anführungszeichen in ein SQL-Statement einzubauen, muss
das jeweilige Zeichen doppelt angegeben werden.

<%
SQL = "SELECT * FROM <tabelle> WHERE <feld> = 'test'"
' --- findet alle Sätze mit dem Wert test

SQL = "SELECT * FROM <tabelle> WHERE <feld> = ''test''"
' --- findet alle Sätze mit dem Wert 'test'

SQL = "SELECT * FROM <tabelle> WHERE <feld> = ""test"""
' --- findet alle Sätze mit dem Wert "test"
%>



Da der betreffende Text meistens in Variablen gespeichert wird, muss man entsprechend
den Inhalt der Variable ändern. Dafür stellt VBScript die Funktion Replace zur Verfügung.

Nachfolgend die Syntax bei Verwendung der Funktion Replace (Hochkomma):
<variable> = Replace(<variable>, "'", "''")

Nachfolgend die Syntax bei Verwendung der Funktion Replace (Anführungszeichen):
<variable> = Replace(<variable>, """", """""")
Dieser Funktionsaufruf ersetzt alle " in "" (dass die Zeichen im Funktionsaufruf doppelt, also
als "" und """" angegeben wurden, irritiert zwar etwas, ist aber korrekt)

Nachfolgend noch ein Beispiel eines SQL-Strings mit einer Variable


<%
...

Dim <variable>
    <variable> = "Hallo Welt. Ein ' verursacht Fehler"
    SQL = "SELECT * FROM <tabelle> WHERE <feld> = <variable>"

...
%>
Wenn Sie dieses SQL-Statement ausführen, wird eine Fehlermeldung ausgegeben.

<%
...

Dim <variable>
    <variable> = "Hallo Welt. Ein ' verursacht Fehler"
    <variable> = Replace(<variable>, "'", "''")
    SQL = "SELECT * FROM <tabelle> WHERE <feld> = <variable>"

...
%>
Dieses SQL-Statement wird korrekt ausgeführt.

Sehr gut
1 2 3 4 5 6
Ungenügend
Zurück | Bisherige Aufrufe: 32265 | Bisherige Bewertungen: 53 | Durchschnitt: 2,62
Stefan Falz Webconsulting