Tron: String in DB speichern

Ich will Texte in der Datenbank speichern, die eventuell mehrere ' (einfaches Anführungszeichen) enthalten.

kleines Beispiel.:
<code>
example = "it's cold"
SQLString = "UPDATE Page SET pageDescription='" &example &"' WHERE (PID=1)
</code>

Ich muss das ' verwenden, um den QueryString richtig zusammenzusetzen, aber:
Durch das "'" in "it's cold" ist für die Datenbank (MS SQL Server) der String an der Stelle zu Ende. --> Fehler

Wie muss ich dieses Zeichen maskieren? Es soll keine Ersetzung durch ein anderes Zeichen stattfinden, da auch Quellcode (Bzw. Java-Script) so gespeichert werden soll.

  1. Hoi,

    Ich muss das ' verwenden, um den QueryString richtig
    zusammenzusetzen, aber: Durch das "'" in "it's cold" ist für die
    Datenbank (MS SQL Server) der String an der Stelle zu Ende. -->
    Fehler

    Wie muss ich dieses Zeichen maskieren? Es soll keine Ersetzung durch
    ein anderes Zeichen stattfinden, da auch Quellcode (Bzw.
    Java-Script) so gespeichert werden soll.

    Prinzipiell haengt das von der verwendeten Datenbank ab. Eingebuergert hat sich, dass mal die "'" mit einem Backslash ('') maskiert. In der
    Datenbank sollte "'" dann wieder zu "'" werden.

    Gruesse aus dem schoenen LH,
     c.j.k

    1. Das war auch mein erster Gedanke.
      Das scheint aber nicht zu funktionieren.
      folgende Fehlermeldung kommt nach Eingabe von 'text über ein Formular:

      Microsoft OLE DB Provider for ODBC Drivers- Fehler '80040e14'

      [Microsoft][ODBC SQL Server Driver][SQL Server]Zeile 1: Falsche Syntax in der Nähe von 'text'.

      /Homepage-Datenbank/scripts/main_insert.asp, line 77

      1. Hoi,

        Das war auch mein erster Gedanke.
        Das scheint aber nicht zu funktionieren.

        Wie ich schon sagte: das ist abhaengig vom verwendeten DBMS. Naeheres
        entnimmst du am besten deinem Handbuch.

        Gruesse aus dem schoenen LH,
         c.j.k

        1. Hoi,

          Das war auch mein erster Gedanke.
          Das scheint aber nicht zu funktionieren.

          Wie ich schon sagte: das ist abhaengig vom verwendeten DBMS. Naeheres
          entnimmst du am besten deinem Handbuch.

          Gruesse aus dem schoenen LH,
          c.j.k

          Da steht nix drin darüber, zumindest hab ich jetzt ne Stunde gesucht und nichts gefunden. Weiss das zufällig wer, wie das beim MS SQL Server hinhaut?

          1. Hallo,

            Da steht nix drin darüber, zumindest hab ich jetzt ne Stunde gesucht und nichts gefunden. Weiss das zufällig wer, wie das beim MS SQL Server hinhaut?

            evtl. hilft: http://www.aspfaq.de/index.asp?FID=8&ELE=701

            Tschau, Stefan

  2. Hallo Tron,

    Wie muss ich dieses Zeichen maskieren? Es soll keine Ersetzung durch ein anderes Zeichen stattfinden, da auch Quellcode (Bzw. Java-Script) so gespeichert werden soll.

    Bei SQL werden quotes mit quotes maskiert ... also: 'It''s cold' ...
    So wird das auch in Stefans Link erklärt, ich weiß nur nicht ob das da richtig rüberkommt.

    Ansonsten kann es durchaus DB-abhängig sein, ich kenne das halt so bei Oracle.

    Grüße, Vedat