Stefan: Hilfe--->INVALID COLUMN NAME???

Hallo,

ich arbeite grad an einer Datenbankabfrage(ODBC) und benutze Frontpage2000. In einem Dropdownmenü das seine Daten aus der Datenbank holt wähle ich einen System Typ aus und diesen übergebe an die nächste Seite.
Auf der zweiten Seite möchte ich nun das er mir alle Daten anzeigt die diesen übergebenen System Typ enthalten. Das mache ich mittels der SQL-Abfrage:

SELECT * FROM [Tabelle] WHERE SYSTEM_TYPE = ::SYSTEM_TYPE::

Leider bringt er aber die Fehlermeldung:

Database Results Error
Description: [Oracle][ODBC][Ora]ORA-00904: invalid column name
Number: -2147217900 (0x80040E14)
Source: Microsoft OLE DB Provider for ODBC Drivers

Der Name ist aber auf jedenfall richtig! Wenn ich das ganze ohne die WHERE-Abfrage mache (also: SELECT SYSTEM_TYPE FROM [Tabelle] ) klappt es problemlos.

Für jegliche Tips wär ich sehr dankbar, vielleicht gibt es ja eine bessere Möglichkeit den übergebenen Wert auszulesen als mit ::WERT::

Grüßle           Stefan

  1. SELECT * FROM [Tabelle] WHERE SYSTEM_TYPE = ::SYSTEM_TYPE::

    Wat soll denn das :: hinten dran?!

    Wo setzt Du den select ab?

    Gruss,
    CS

    1. SELECT * FROM [Tabelle] WHERE SYSTEM_TYPE = ::SYSTEM_TYPE::

      Wat soll denn das :: hinten dran?!

      Wo setzt Du den select ab?

      Gruss,
      CS

      Laut Hilfe in Frontpage2000 kann man übergebene Werte in der Datenbank abfragen indem man Spaltename=::WERT:: eingibt.
      Vielleicht irre ich mich ja auch...gibt es denn vielleicht auch eine andere Möglichkeit den übergebenen Wert in einem SQL-Querie abzufragen??

      Übrigens hab ich jetzt festgestellt das es mit Zahlen Problemlos funktioniert, sobald der Wert aber ein String ist bringt er die Fehlermeldung invalid column name raus...

      thanks     Stefan

      1. Moin,

        Übrigens hab ich jetzt festgestellt das es mit Zahlen Problemlos funktioniert, sobald der Wert aber ein String ist bringt er die Fehlermeldung invalid column name raus...

        Dann liegt es daran dass das Strings sind. Die sollte man in SQL nämlich vernünftigerweise in Quotes einschließen. Sonst hält er es tatsächlich für einen Spaltennamen und versucht Spalten zu finden bei denen der Wert der einen Spalte gleich dem Wert der anderen Spalte ist.

        Mit SELECT * FROM [Tabelle] WHERE SYSTEM_TYPE = "::SYSTEM_TYPE::" solltest du also dein Ziel erfüllen können (auch wenn mir die ::-Notation tatsächlich nicht geläufig ist, aber das wird irgendeine MS-Abart sein :).

        --
        Henryk Plötz
        Grüße aus Berlin

        1. thanks, ich habs rausgefunden

          SELECT * FROM [Tabelle] WHERE SYSTEM_TYPE = '::SYSTEM_TYPE::'

          da soll einer drauf kommen

          greez   Stefan

      2. Lern SQL und schmeiss den drecks Frontpage weg.

        Diese ganzen Tools sind zwar schön und gut aber man sollte sie nur benutzen wenn man auch versteht was passiert wenn man den Quelltext anschaut.

        Gruss,
        CS