Alexander Volkmer: Nocheinmal Aufbau und Übergabe einer var. Zeichenkette

Hallo Leute,

ich muß leider noch einmal Fragen wie ich mein Problemlösen kann. Bis jetzt habe ich keine Lösung bekommen.

1. Problem:
Ich habe eine ASP-Seite, in der ein Datenbankaufruf mit einem Where-Stetment ausgeführt wird. Dieses Seite wird immer wieder aufgerufen, das Where-Stetment wird immer verfeinert. Ich wollte es mit einer Variablen-Übergabe in der Linkzeile lösen. Das geht aber nicht, weil er die leerzeichen nicht mag. Dann wurde mir ja vorgeschlagen %20 als leerzeichen zuverwenden, die Lösung funktioniert nicht bei mehrfacher Übergabe.
Ich suche eine Übergabevariante. Der Vorschlag mit das Problem mit Formularen zu lösen, kann ich nicht einschätzen, denn mit Formularen habe ich noch nicht gearbeitet. Es wäre schön, wenn es auch ohne gehen würde.
2. Problem
In diesem Forum werden immer wieder interessante Fragen beantwortet, wie z.B. man erfährt welche Seite im Frame aufgerufen ist. Diese Lösungen basieren meistens auf Javascript. Ich benutze aber VBScript. Gibt es für auch Lösungen dafür.

Vielen Dank!

ALexander Volkmer

    1. Problem:
      Ich habe eine ASP-Seite, in der ein Datenbankaufruf mit einem Where-Stetment ausgeführt wird. Dieses Seite wird immer wieder aufgerufen, das Where-Stetment wird immer verfeinert. Ich wollte es mit einer Variablen-Übergabe in der Linkzeile lösen. Das geht aber nicht, weil er die leerzeichen nicht mag. Dann wurde mir ja vorgeschlagen %20 als leerzeichen zuverwenden, die Lösung funktioniert nicht bei mehrfacher Übergabe.
      Ich suche eine Übergabevariante. Der Vorschlag mit das Problem mit Formularen zu lösen, kann ich nicht einschätzen, denn mit Formularen habe ich noch nicht gearbeitet. Es wäre schön, wenn es auch ohne gehen würde.

    Hallo,

    welches Problem hast Du denn eigentlich ? Kannst Du die variablen nicht verknüpfen oder funzt nur Dein SQL-String nicht. Wie lang soll der String in etwa sein, welche Zeichen kommen drin vor.
    Am besten ein kurzes Beispiel oder ne URL, unter der man sich das mal anschauen kann.

    Tschau, Stefan

    1. SQL funktioniert, wenn Variable fest

      Übergabe der Variable ist nicht richtig

      Seitenaufruf
      <a href=.\list.asp?sort=AND%20Test='test'>

      Nächste Seite
      test = Request.QueryString("sort")
      sql = "ware='test'" + test
      test = sql
      <a href=.\list.asp?sort=<%=test%>>

      1. SQL funktioniert, wenn Variable fest

        Übergabe der Variable ist nicht richtig

        Seitenaufruf
        <a href=.\list.asp?sort=AND%20Test='test'>

        Nächste Seite
        test = Request.QueryString("sort")
        sql = "ware='test'" + test
        test = sql
        <a href=.\list.asp?sort=<%=test%>>

        Hallo,

        also eine Sache vorweg. Strings nicht mit +, sondern mit & verknüpfen.
        sql = "ware='test'" & test

        Was steht denn bei dem o.a. Beispiel beim zweiten Aufruf in der Variablen test?
        Meines Erachtens nach: test = "ware='test'AND Test='test'". Tip. Probiers mal mit einem Blank zwischen den einzelnen Teilen ("ware='test' AND Test='test'")

        Tschau, Stefan

        1. SQL funktioniert, wenn Variable fest

          Übergabe der Variable ist nicht richtig

          Seitenaufruf
          <a href=.\list.asp?sort=AND%20Test='test'>

          Nächste Seite
          test = Request.QueryString("sort")
          sql = "ware='test'" + test
          test = sql
          <a href=.\list.asp?sort=<%=test%>>

          Hallo,

          also eine Sache vorweg. Strings nicht mit +, sondern mit & verknüpfen.
          sql = "ware='test'" & test

          Was steht denn bei dem o.a. Beispiel beim zweiten Aufruf in der Variablen test?
          Meines Erachtens nach: test = "ware='test'AND Test='test'". Tip. Probiers mal mit einem Blank zwischen den einzelnen Teilen ("ware='test' AND Test='test'")

          Tschau, Stefan

          Habe Leerzeichen bei der Übername vergessen in der Variable steht: "ware='test' AND Test='test'"
          im Link steht nur die Variable bis zum ersten Leerzeichen. Also nur noch "ware='test'".

          Alexander Volkmer

          1. Hallo,

            es wäre vielleicht besser, wenn Du mir die Seite mal per Mail schickst oder (wenn Sie nicht zu groß ist), den Quelltext hier komplett postest.
            Denn egentlich sollte das gehen (bei mir machts das auch).

            Tschau, Stefan

            1. Datei:

              <%@ Language=VBScript %>
              <HTML>
              <HEAD>
              <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
              </HEAD>
              <BODY>

              <%

              IF Request.QueryString("sort") = "" then  
              sort = "anzahl=20 AND text='Test test Test'"
              else
              sort = Request.QueryString("sort")
              end if
              Response.Write sort
              %>
              <P>
              <%
              ein = sort + " AND test='12'"

              Response.Write ein

              %>
              <P>

              <a href=.\test.asp?sort=<%=ein%>><%=ein%></a>

              </BODY>
              </HTML>

          2. Moin!

            <a href=.\list.asp?sort=AND%20Test='test'>

            <a href=.\list.asp?sort=<%=test%>>

            Habe Leerzeichen bei der Übername vergessen in der Variable steht: "ware='test' AND Test='test'"
            im Link steht nur die Variable bis zum ersten Leerzeichen. Also nur noch "ware='test'".

            Ist doch kein Wunder. Woher soll denn der arme Browser wissen, was alles zum HREF-Attribut gehoert? Natuerlich musst Du den Wert in Anfuehrungszeichen setzen, dann klappts auch mit dem Browser:

            <a href=".\list.asp?sort=AND%20Test='test'">

            Trotzdem musst Du die Leerzeichen zu %20 codieren. Handelt es sich nur um die Leerzeichen, kannst Du replace(string, " ", "%20") verwenden, willst Du gleich alle Sonderzeichen erwischen, solltest Du Dir mal diue Server.URLEncode-Methode anschauen. Sieht dann also so aus:

            <a href=".\list.asp?sort=<%=replace(test, " ", "%20")%">
            oder
            <a href=".\list.asp?sort=<%=Server.URLEncode(test)%">

            Und ausserdem ist der Verzeichnisseparator in URLs nicht der \ sondern der /.

            Calocybe