Announcement

Collapse
No announcement yet.

Problematischer Feldname "Time"

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

  • Problematischer Feldname "Time"

    Hallo Zusammen,

    ich möchte folgen SQL-Befehl ausführen (Access bzw. Paradox Datenbank):
    INSERT INTO TABLE (Feld1,TIME,Feld2) VALUES (1,2,3)

    Dabei erhalte ich die Fehlermeldung
    Undültiges Schlüsselwort
    Symbol-String: Time,Feld2)

    Wie muss ich den SQL-Befehl syntaktisch verändern, damit er richtig ausgeführt wird.

    Ebeso habe ich das Problem, dass ich einem Feld einen String zuweisen möchte, der dem TabellenNamen entspricht:

    INSERT INTO Table1 (Feld1,Feld2) VALUES ('Table1','Hallo')

    Kennt jemand eine Lösung?

  • #2
    Hallo Markus,

    also für das erste Problem "Schlüsselwort als Feldname" ist die Lösung, den Feldnamen in eckigen Klammern [] zu schreiben., also in Deinem Fall:
    INSERT INTO TABLE (Feld1, [TIME], Feld2) VALUES (1, 2, 3)

    Das zweite Problem "Feldname als Value" verwundert mich sehr, das würde bedeuten, das die SQL Engine die Textbegrenzer nicht richtig erkennt und nun auch noch die Values parst.
    Eine richtige Lösung weiss ich entsprechend auch nicht, aber im Falle von Access könntest Du es mit Anführungszeichen " statt dem Hochkomma ' probieren.

    Gruß, Olaf
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Guten Morgen,

      vielen Dank für die Antwort.

      Stimmt, das zweite Problem besteht wohl nicht wirklich. Es tritt nicht weiter auf.

      Eckige Klammer funktioniert bei Access ohne weiter Probleme => erstes Teilproblem gelöst.
      Für die Paradox Tabelle hilft es jedoch nicht. Es muss aber doch auch bei Paradox Tabellen eine Möglichkeit geben mit SQL auf Feldnamen zuzugreifen, die einem Schlüsselwort entsprechen

      Comment


      • #4
        Hallo Markus.

        Setze den Tabellennamen in Hochkomma (doppelt oder einfach, weiss ich nicht mehr).

        Beim 2. Problem würde ich immer Parameter verwenden.

        Heik

        Comment


        • #5
          hallo Heiko, hallo olaf

          "Tablenname in Hochkomma", etwa so:
          INSERT INTO "Climbperf" (Feld1,TIME,Feld2) VALUES (1,2,3) ?
          => keine Auswirkung auf den Fehler mit dem Feldnamen "Time".

          In einem Buch habe ich gelesen, dass folgendes geht:
          SELECT a."TIME" FROM Climbperf a und das funktioniert auch.

          Aber
          INSERT INTO Climbperf a (Feld1,a."Time",Feld2) VALUES (2,1,3)
          geht dummerweise nich

          Comment


          • #6
            Ich hab die Lösung:

            INSERT INTO Climbperf (climbperf."TIME",climbperf."Feld1") VALUES (1,2

            Comment

            Working...
            X