anfänger: SQL-Abfrage in einer ASP-Variable speichern

Hallo!

Ich möchte eine SQL-Abfrage (SELECT wert FROM tbl_personen WHERE person="stefan boitler") in eine ASP-Variable speichern.
Dies sollte eigentlich kein Problem sein, aber irgend etwas mache ich scheinbar falsch. Kann mir jemand sagen,wie das geht?

Danke, Gruss
Anfänger

  1. Servus

    hier gibst heute keine ordentlichen antworten nur quatsch
    ..
    ..
    nein war nur quatsch! ;oP

    zeig doch mal was du bis jetzt versucht hast, dann schaun mer mal.

    bydey

    1. ok,machen wir das!

      Ich will einen Wert aus einem Datensatz lesen (es gibt in der Spalte die Werte 1 und 0 --> 1 =checkbox ist checked, 0= checkbox ist nicht checked)
      Nun will ich eine Variabel machen, und einen bestimmten Wert aus der mysql-DB lesen, diesen in die Variabel schreiben, und per if-abfrage checken, ob er 1 oder 0 ist, wenn er 1 ist, soll die Checkbox checked sein.
      ich weiss nicht, wie es mit dem SQL-statements geht, also ich habe es mit verschiedenen Zeichen versucht, ", ', () ... und schliesslich müssten für die Zuweisung einer Variable ja gar keine Sonderzeichen gebraucht werden, aber ich weiss nicht, ob das auch so ist wenn ein SQL-Statement übergeben wird.
      -----------
      <%
      dim query

      query="SELECT wert FROM tbl_personen WHERE person="sandro mueller"
      If query="1" Then Response.Write ("<input type="checkbox" value="1" name="stefan boitler">")End If
      %>
      ---------

      1. Servus

        so weit so unklar.
        jetzt weiss ich nur nicht was bei dir funktioniert und was nicht.
        differenziere das mal. im moment sieht es aus als wenn da gar nicht geht. oder?

        bydey

        1. grüssgott!

          genau! du hast es erfasst!*g*
          nein, also das andere sollte ich hinkriegen, die Fehlermeldung lautet:

          ----------
          Kompilierungsfehler in Microsoft VBScript-Fehler '800a03ee'

          ')' erwartet

          /sandro/content.asp, Zeile 67

          query= ("SELECT wert FROM tbl_personen WHERE person="stefan boitler")

          -----------

          ...nur kann ich mit dieser nichts anfangen,aber als erstes sollte ja mal die zuweisung der variable klappen....

          1. Servus

            na siehste, war doch gar nicht so schlimm.

            query= ("SELECT wert FROM tbl_personen WHERE person="stefan boitler")

            und queury = 1
            kann 1 = ("SELECT wert FROM tbl_personen WHERE person="stefan boitler") sein?
            ich denke nicht. du must den queury auch ausführen, sprich deiner db übergeben. wie versucht du das?

            bydey

            1. es ist so, dass der Wert, welcher momentan ausgelesen wird (die SQL-Abfrage) 1 ist.

              zuerst lese ich den Wert (welcher 1 ist) mit der SQL-Abfrage aus,
              und will diesen in die Variable "query" speichern.
              Dann prüfe ich mit IF, ob die Variable query den Wert 1 enthält.

              ich denke nicht. du must den queury auch ausführen, sprich deiner db übergeben. wie versucht du das?

              Ich weiss nicht ganz, was du meinst mit ausführen, übergeben...hättest du eine idee, wie ich das lösen kann?

              1. Servus

                es gibt jetzt 2 möglichkeiten:
                1. ich habe keine ahnung, möglich - wahrscheinlich
                2. du liest nichts aus, auch möglich

                zeig mal deinen code, wie du die verbindung zur DB herstellst.
                bis dahin wo du die variable wieder abfragst, denn das was du mir zeigst kann nach meinem kenntnis stand so nicht funktionieren!

                bydey

                1. ok, also die Variabel ist jetzt glaube ich mit dem Wert der DB gefüllt.
                  Ich poste mal den ganzen ASP-Code, keine Angst,ist seeeehr wenig, im Moment.

                  verbindungsaufbau:

                  <%
                  Set db = CreateObject("ADODB.Connection")
                  db.Open("AbsenzDB")
                  %>
                  ----------> sollte funktionieren, bringt auf jeden fall
                                     keinen fehler mehr

                  restlicher Code:

                  <%
                  dim query
                  query="SELECT wert FROM tbl_personen WHERE person='sandro mueller'"

                  If query="1" Then Response.Write ("<input type="checkbox" value="1" name="sandro" checked>")End If
                  %>

                  1. Servus

                    na offensichtlich lag es an meinem wissensstand. das man den sqlstring einfach in ne variable setzt ohne ihn explizit auszuführen und er dennoch einen wert zurückgibt, wusste ich nicht.
                    da hab ich dich wohl auf den falschen geführt.
                    war meine aussage im ausgangsposting wohl doch nicht son quatsch. hätte nur hinzufügen müssen, dass das auf mich zutrifft!

                    bydey

                    1. ja, weisst du warum es jetzt noch einen fehler gibt?

                      es kommt: Kompilierungsfehler in Microsoft VBScript-Fehler '800a03ee'

                      ')' erwartet

                      /sandro/content.asp, Zeile 68

                      If query="1" Then Response.Write ("<input type="checkbox" value="1" name="sandro" checked>")End If

                      1. Servus

                        If query="1" Then Response.Write ("<input type="checkbox" value="1" name="sandro" checked>")End If

                        ich denke
                        1. wenn das eine zeile am stück ist hat das end if da nichts mehr zu suchen
                        2. zerlegt das ding mal in die einzelteile. mach erst mal eine leichte if klausel und schreib dein response.write mal ohne if. so siehst was nicht geht. ich zerlege komplexe fehler immer in atome, wenn es geht.

                        bydey

                        1. ich habe es abgeändert, und jetzt kommt kein fehler mehr!

                          <%
                          dim query
                          query="SELECT wert FROM tbl_personen WHERE person='sandro mueller'"
                          If query="1" Then Response.Write '("<input type="checkbox" value="1" name="sandro" checked>")'End If%>

                          ...aber jetzt wird die Checkbox nicht geschrieben...

                          1. Servus
                            nein ich bin raus. fahr jetzt den binary bomber runter und vermutlich nerve ich erst 2003 wieder. allen weihliche fröhnachten und nen ruten gutsch

                            ich habe es abgeändert, und jetzt kommt kein fehler mehr!

                            <%
                            dim query
                            query="SELECT wert FROM tbl_personen WHERE person='sandro mueller'"
                            If query="1" Then Response.Write '("<input type="checkbox" value="1" name="sandro" checked>")'End If%>
                            ...aber jetzt wird die Checkbox nicht geschrieben...

                            dann schreib sie erst mal ohne if! dennoch für mich sieht das völlig falsch. habe mich vorhin aber schon mal heftig getäuscht!!!!! (prell)

                            bydey

                  2. Hallo,

                    kann sein, dass ich in dem Thread irgendwas überlesen habe.
                    Doch ich bin ganz der Meinung von dey , dass es so nicht funktionieren kann. Du öffnest zwar eine Verbindung zur DB, aber
                    keinen Recordset.

                    <%
                    Set db = CreateObject("ADODB.Connection")
                    db.Open("AbsenzDB")
                    %>

                    Wenn AbsenzDB eine DSN ist, sollte das okay sein.

                    <%
                    dim query
                    query="SELECT wert FROM tbl_personen WHERE person='sandro mueller'"

                    If query="1" Then Response.Write ("<")End If
                    %>

                    Du weist der Variablen query doch den Wert "SELECT ..." als String
                    zu, wie kann query dann "1" sein?

                    <%
                    Set rst = Server.CreateObject("ADODB.Recordset")
                    query="SELECT wert FROM tbl_personen WHERE person='sandro mueller'"

                    rst.Open query, db

                    If rst("wert")= "1" Then
                        response.write("<input type='checkbox' value='1' name='sandro' checked>")
                    End If%>

                    Hab es jetzt nicht getestet, aber so sollte es funktionieren.

                    Grüße, Stefan

              2. DANKE MICHAEL SCHNEIDER!

                Es hat funktioniert...soweit, jetzt liegt der Fehler weiter unten im Skript! *g*...das war ja klar..hehe...aber ich denke, es ist ok so, jetzt muss ich nur noch herausfinden, wie ich es unten anstellen kann...

      2. Hallo,
        aendere doch mal das SQL -Statement:

        query="SELECT wert FROM tbl_personen WHERE person='sandro mueller'"

        Viele Gruesse aus dem Altmuehltal
        Michael Schneider

        1. Servus

          Hallo,
          aendere doch mal das SQL -Statement:

          query="SELECT wert FROM tbl_personen WHERE person='sandro mueller'"

          funktioniert das ohne explizite übergabe a'la execute?
          aber der string könnte stimmen?

          bydey