Announcement

Collapse
No announcement yet.

Hochkomma im Paradox-Feld

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hochkomma im Paradox-Feld

    <P>Hallo allerseits,</P>
    <P>eine Schiffrierroutine liefert Strings, die ev. auch Hochkomma enthalten. Eine Paradoxtabelle speichert allerdings nur Zeichen bis zur ersten Hochkomma, die offensichtlich als Stringbegrenzer interpretiert wird.</P>
    <P>Hat jemand eine Lösung für dieses Problem?</P>
    <P>Danke</P>

  • #2
    Hallo,

    falls es hier ein Problem gibt liegt es nicht an Paradox, sondern im eigenen Programm an der Art und Weise, wie diese Zeichenkette übergeben wird.

    Angenommen, über eine INSERT-Anweisung soll eine Adresse erfasst werden. Von Hand abgesetzt könnte das so aussehen:
    <pre>
    INSERT INTO Paradox1 (ID, Zeile1, Zeile2)
    VALUES (6, "Meier's Laden", "Feinkost")
    </pre>
    Will man das im eigene Programm machen, muss dafür gesorgt werden, das jeder Wert, in dem ein Hochkomma vorkommen kann, in doppelte Anführungszeichen gesetzt wird.
    <pre>
    sSQLText := Format('INSERT INTO Paradox1 (ID, Zeile1, Zeile2) ' +
    'VALUES (%d, "%s", "%s")',
    [iID, Edit1.Text, Edit2.Text]);
    with Quer1 do
    begin
    SQL.Clear;
    SQL.Add(sSQLText);
    ExecSQL;
    end;
    </pre>
    Jetzt wird auch dann der Wert in Zeile 1 korrekt eingetragen, wenn in der Zeichenkette ein Hochkomma vorkommt

    Comment


    • #3
      <p>Hallo Herr Kosch,</p>

      <p>der String wird an Paradox-Table so übergeben:</p>
      <pre>
      BenutzerTable.Edit;
      BenutzerTablePasswort.value := Crypt(PasswortEdit.Text);
      BenutzerTable.Post;
      </pre>
      <P>Die Funktion Crypt gibt einen String zurück, der alle Zeichen von 0 bis 255 enthalten kann. Eine weiter Bearbeitung des Strings scheint mir unzulässig zu sein, oder?</p>
      <p>Ich habe mir die Strings im Debugger angeschaut, sie sehen z.
      B. so aus: 'x>0'Mi9'. Die linke und die rechte Hochkomma sind Stringbegrenzer,
      die mittlere kommt von Crypt. In dem Paradox Feld finde ich dann nur x>0. Der
      Rest wird ignoriert.</p&gt

      Comment


      • #4
        Hallo!

        Hast Du schon eine Lösung?
        Warum legst Du nicht statt eines Strings eine Binärfeld (Y) an.

        mfg Thoma

        Comment


        • #5
          Hallo,

          zumindestens der Weg über die INSERT-Anweisung muss auch dann funktionieren, da der vollständige Inhalt der Zeichenkette in doppelte Anführungszeichen gesetzt wird

          Comment

          Working...
          X