Sabine: keine Fehlermeldungen - trotzdem klappt es nicht

Hi, bin im Moment an einem Projekt dran und steh noch ganz am Anfang meiner "Laufbahn" - bräuchte also dringend Hilfe.

Habe eine HTML-Seite mit einer dazugehörigen ASP-Seite. Ziel ist einfach über das HTML-Formular Daten aus der Datenbank abzurufen und auszugeben.

Bitte nicht erschrecken, das ist die ABSOLUTE Rohfassung!

Vielleicht schaut Ihr Euch es einfach mal an:

<html>
<head> <title> Kunde </title> </head>
<body>
<div align="center">
<br><br><br> <h1> Kunde </h1> <br><br><br><br>
<form action="kunde.asp" method="post">
<select name="Kunde" size="">
<option value="1"> Kunde 1 </option>
<option value="2"> Kunde 2 </option>
<option value="3" selected> Kunde 3 </option>
<option value="4"> Kunde 4 </option>
<option value="5"> Kunde 5 </option> </select>
<br><br><br>
<input type="Submit" name="1" value="Anfrage senden">
</form>
</div>
</body>
</html>

<html>
<head><title>Kunde-ASP</title></head>
<body> <div align="center">
<%
DIM mKNR
DIM objCon, strDB, strCon, ObjRs

strDB="Data Source"= & Server.MapPath("/Auftrag.mdb")
strCon="Provider=Microsoft.Jet.OLEDB.4.0;" & strDB
mKNR=request.form("Kunde")
SET objCon=Server.CreateObject("ADODB.Connection")
SET ObjRS=Server.CreateObject("ADODB.Recordset")
objCon.open strCon

mSQL="Select KunID, KunFirma, KunOrt, KunTelefon FROM TabKunden WHERE KunID=mKNR;"

objRS.open mSql, objCon
objRS.MoveFirst
%>

<h2> Name: <% response.write objRS("KunFirma") %> </h2>
<br>
<h4>KNR: <% response.write objRS("KunID") %> <br>
Adresse: <% response.write objRS("KunOrt") %> <br>
Kontakt: <% response.write objRS("KunTelefon") %> </h4>
<br><br><br>

<%
mSQL="Select AufID, PosID, LeiID FROM TabAuftraege INNERJOIN TabPositionen on TabAuftraege.AufID=TabPositionen.AUFID WHERE KunID=mKNR;"

objRS.open msql, objCon
objRS.MoveFirst
%>

<table border="1">
<tr>
<th> Auftragsnummer </th>
<th> Positionsnummer </th>
<th> Beschreibung </th>
</tr>

<% While not objRS.EOF %>

<tr> <td> <% response.write objRS("AufID") %> </td>
<td> <% response.write objRS("PosID") %> </td>
<td> <% response.write objRS("LeiID") %> </td> </tr>

<%
objRS.movenext
wend
objCon.Close
%>

</div>
</body>
</html>

Bin echt über jede Hilfe dankbar!

  1. Hi,

    Vielleicht schaut Ihr Euch es einfach mal an:

    ohne eine Fehlerbeschreibung von Dir ist das sinnfrei.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Fehlerbeschreibung?
      Ich geh in HTML zum Beispiel auf Kunde1, klicke auf Senden und alles was erscheint ist eine HTML-Seite, auf der oben in der Mitte "Kunde" usw steht und unten ist die dreispaltige Tabelle.

      Die Daten, die aus der Datenbank eingelesen werden sollten, werden einfach nicht eingelesen und ich habe den Fehler nicht gefunden.

      Was ich ungefähr 10mal überprüft habe, sind die Bezeichnungen von Tabellen und Attributen innerhalb der Datenbank - daran dürfte also nichts falsch sein.

      1. Hi,

        Fehlerbeschreibung?

        [...]

        was haben Deine Debug-Ausgaben ergeben?

        Was ich ungefähr 10mal überprüft habe, sind die Bezeichnungen von Tabellen und Attributen innerhalb der Datenbank - daran dürfte also nichts falsch sein.

        Hast Du auch überprüft, was in Wirklichkeit in Deinem Script passiert?

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Sei nicht böse auf ihn, er aht heute einen schelchten tag.
          oder er ist immer so, bin mir nicht sicher.

          1. Sei nicht böse auf ihn, er aht heute einen schelchten tag.
            oder er ist immer so, bin mir nicht sicher.

            Danke, und was mach ich jetzt?

            Laut Debugger sind sämtliche VBScript-Tags unbekannt.

            Bin hier total am verzweifeln...

            1. Sei nicht böse auf ihn, er aht heute einen schelchten tag.
              oder er ist immer so, bin mir nicht sicher.

              Danke, und was mach ich jetzt?

              Laut Debugger sind sämtliche VBScript-Tags unbekannt.

              Bin hier total am verzweifeln...

              tut mir leid.
              hab von asp und vbs noch keine ahnung

              1. Hast Du meine Antwort nicht gesehen, keine Lust mehr oder versuchst Du gerade mir zu helfen?

                Hatte um 20.11 Uhr nochmal geantwortet...

                1. Hast Du meine Antwort nicht gesehen, keine Lust mehr oder versuchst Du gerade mir zu helfen?

                  Hatte um 20.11 Uhr nochmal geantwortet...

                  habs gesehen, hab aber leider keine ahnung davon.
                  hatte vorhin ein problem mit wegen einer tabelle und einem bild und jetzt streit ich schon die ganze zeit mit cheatah über alt, jpeg, bmp und browser

                  1. Hatte auch eigentlich Cheatah damit gemeint aber ist egal. WErd schon irgendwie hinkriegen.

                    Trotzdem vielen Dank!

            2. Hi,

              Danke, und was mach ich jetzt?

              die Ergebnisse Deiner Debug-Ausgaben nennen,

              Laut Debugger sind sämtliche VBScript-Tags unbekannt.

              anstatt an einem Debugger zu verzweifeln.

              Cheatah

              --
              X-Will-Answer-Email: No
              X-Please-Search-Archive-First: Absolutely Yes
              1. die Ergebnisse Deiner Debug-Ausgaben nennen,

                Zeile1, Spalte 1, TAG unbekannt
                Zeile 5, Spalte 1, TAG unbekannt
                Zeile 35, Spalte 12, TAG unbekannt
                Zeile 37, spalte 10, TAG unbekannt
                Zeile 38, Spalte 10, TAG unbekannt
                Zeile 39, Spalte 10, TAG unbekannt
                usw.

                hier nochmal der ASP-Teil, hab im Forum ein paar Leerzeilen weggelassen

                <% @ Language=VBScript %>
                <html>
                <head><title>Kunde-ASP</title></head>
                <body> <div align="center">
                <%

                DIM mKNR

                DIM objCon, strDB, strCon, ObjRs

                strDB="Data Source"= & Server.MapPath("/Auftrag.mdb")

                strCon="Provider=Microsoft.Jet.OLEDB.4.0;" & strDB

                mKNR=request.form("Kunde")

                SET objCon=Server.CreateObject("ADODB.Connection")

                SET ObjRS=Server.CreateObject("ADODB.Recordset")

                objCon.open strCon

                mSQL="Select KunID, KunFirma, KunOrt, KunTelefon FROM TabKunden WHERE KunID=mKNR;"

                objRS.open mSql, objCon
                objRS.MoveFirst
                %>

                <h2> Name: <% response.write objRS("KunFirma") %> </h2>
                <br>
                <h4>KNR: <% response.write objRS("KunID") %> <br>
                Adresse: <% response.write objRS("KunOrt") %> <br>
                Kontakt: <% response.write objRS("KunTelefon") %> </h4>
                <br><br><br>

                <%

                mSQL="Select AufID, PosID, LeiID FROM TabAuftraege INNERJOIN TabPositionen on TabAuftraege.AufID=TabPositionen.AUFID WHERE KunID=mKNR;"

                objRS.open msql, objCon
                objRS.MoveFirst
                %>

                <table border="1">
                <tr>
                <th> Auftragsnummer </th>
                <th> Positionsnummer </th>
                <th> Beschreibung </th>
                </tr>

                <% While not objRS.EOF %>

                <tr> <td> <% response.write objRS("AufID") %> </td>
                <td> <% response.write objRS("PosID") %> </td>
                <td> <% response.write objRS("LeiID") %> </td> </tr>

                <%
                objRS.movenext
                wend
                objCon.Close
                %>

                </div>
                </body>
                </html>

          2. Hi,

            Sei nicht böse auf ihn, er aht heute einen schelchten tag.

            äh, bitte? Ich versuche gerade, die notwendigen Informationen zu sammeln, um überhaupt mit einer Problemanalyse beginnen zu können.

            oder er ist immer so, bin mir nicht sicher.

            Zu welcher Du übrigens auch nicht viel beigetragen hast, soweit ich das sehen kann.

            Cheatah

            --
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Stimmt.
              Ich habe ihr nur gesagt das sie deine art nicht missverstehen soll und hab noch einen kleinen hieb ausgeführt.

              1. Stimmt.
                Ich habe ihr nur gesagt das sie deine art nicht missverstehen soll und hab noch einen kleinen hieb ausgeführt.

                Was willst Du eigentlich hier erreichen? Cheatah hat ein großes Fachwissen, von dem andere oft profiteren können. Offenbar hast Du keine Ahnung. Die bmp-Debatte war lächerlich! Das ist hier ein Forum für professionelle Webgestalter. Wenn Du Leute ärgern willst, empfehle ich Telefonstreiche. Mehr gehe ich übrigens auf Dich nicht mehr ein, das wäre mir zu blöd! Wollte nur ausdrücken, was hier nicht erwünscht ist.

                1. Was willst Du eigentlich hier erreichen? Cheatah hat ein großes Fachwissen, von dem andere oft profiteren können. Offenbar hast Du keine Ahnung. Die bmp-Debatte war lächerlich! Das ist hier ein Forum für professionelle Webgestalter. Wenn Du Leute ärgern willst, empfehle ich Telefonstreiche. Mehr gehe ich übrigens auf Dich nicht mehr ein, das wäre mir zu blöd! Wollte nur ausdrücken, was hier nicht erwünscht ist.

                  Ich wollte nur eine eine Lösung für mein Problem finden.
                  Ich habe die BMP debatte nicht begonnen.
                  Gut, wenn das ein Forum für professionelle Webgestalter ist, dann muss er abe auch akzeptieren das ich noch keiner bin.
                  Mit Telefonstreichen habe ich keine Erfahrung, erzähl mir mehr.
                  Ich geh auch nciht auf merh ein.

                  THomas

                  1. Find ich ja nett, dass ihr hier versucht euch gegenseitig fertig zu machen, aber mein Problem wird dadurch auch nicht besser.

                    Ich habe das Forum hier zum ersten Mal ausprobiert und werde es wohl weder weiter empfehlen noch benutzen - manche Antworten waren echt hilfreich, aber das muss nicht sein.

                    1. Tut mir leid, ich bin neu. Ich hab mich ein bisschen durch Cheatah provoziert gefühlt.

          3. Sei nicht böse auf ihn, er aht heute einen schelchten tag.
            oder er ist immer so, bin mir nicht sicher.

            Thomas, geh weg!

            1. Sei nicht böse auf ihn, er aht heute einen schelchten tag.
              oder er ist immer so, bin mir nicht sicher.

              Thomas, geh weg!

              Tut mir leid, aber das hab ich gebraucht.

  2. Hallo,

    da muß man ja erst mal die Glaskugel wieder aus dem Schrank holen ;)

    <%
    DIM mKNR
    DIM objCon, strDB, strCon, ObjRs

    strDB="Data Source"= & Server.MapPath("/Auftrag.mdb")
    strCon="Provider=Microsoft.Jet.OLEDB.4.0;" & strDB
    mKNR=request.form("Kunde")

    Ok, da hatten wir zumindest mal die Kundennummer. Allerdings
    solltest du bedenken, dass dir jemand auch einen "falschen"
    Wert (Stichwort: SQL Injection, Google hilft dir da weiter)
    unterjubelt. Aber das ist hier zumindest nicht dein Problem.

    mSQL="Select KunID, KunFirma, KunOrt, KunTelefon FROM TabKunden WHERE KunID=mKNR;"

    So, da versucht Access jetzt, die Spalte mKNR in der Tabelle TabKunden
    zu finden. Das schlägt natürlich fehl. Der SQL String sollte so aussehen:

    mSQL="Select KunID, KunFirma, KunOrt, KunTelefon FROM TabKunden WHERE KunID = " & mKNR

    objRS.open mSql, objCon
    objRS.MoveFirst

    Das hier ist unnötigt, da sich das Recordset nach dem Öffnen immer
    auf dem ersten Datensatz befindet (wenn einer vorhanden ist).
    Du solltest eher prüfen, ob ein Datensatz gefunden wurde:

    If Not objRS.EOF Then
        ...
    End if

    mSQL="Select AufID, PosID, LeiID FROM TabAuftraege INNERJOIN TabPositionen on TabAuftraege.AufID=TabPositionen.AUFID WHERE KunID=mKNR;"

    Vor dem Öffnen des Recordsets mit neuem SQL Statement solltest du
    es zuerst einmal schließen.

    objRS.Close

    Und hier nochmal das mit der Variablen mKNR:

    mSQL="Select AufID, PosID, LeiID FROM TabAuftraege INNERJOIN TabPositionen on TabAuftraege.AufID=TabPositionen.AUFID WHERE KunID = " & mKNR

    Und auch wieder auf objRS.EOF prüfen.

    objCon.Close

    Am Schluß sollte noch: Set objRS = Nothing stehen.

    Tschau, Stefan

    1. <% @ Language=VBScript %>
      <html>
      <head><title>Kunde-ASP</title></head>
      <body> <div align="center">
      <%

      DIM mKNR

      DIM objCon, strDB, strCon, ObjRs

      strDB="Data Source"= & Server.MapPath("/Auftrag.mdb")

      strCon="Provider=Microsoft.Jet.OLEDB.4.0;" & strDB

      Die Datei sieht jetzt so aus: (Aber es klappt immer noch nicht. Wenn man der Wald vor lauter Bäumen nicht mehr sieht... Und ich wollte ab Oktober Informatik studieren - Hahaha)

      mKNR=request.form("Kunde")

      SET objCon=Server.CreateObject("ADODB.Connection")

      SET ObjRS=Server.CreateObject("ADODB.Recordset")

      objCon.open strCon

      mSQL="Select KunID, KunFirma, KunOrt, KunTelefon FROM TabKunden WHERE KunID = " & mKNR;"
      If Not objRS.EOF Then
          ...
      End if
      objRS.open mSql, objCon
      objRS.MoveFirst
      %>

      <h2> Name: <% response.write objRS("KunFirma") %> </h2>
      <br>
      <h4>KNR: <% response.write objRS("KunID") %> <br>
      Adresse: <% response.write objRS("KunOrt") %> <br>
      Kontakt: <% response.write objRS("KunTelefon") %> </h4>
      <br><br><br>

      <%
      objRS.Close
      mSQL="Select AufID, PosID, LeiID FROM TabAuftraege INNERJOIN TabPositionen on TabAuftraege.AufID=TabPositionen.AUFID WHERE KunID=" & mKNR;"

      If Not objRS.EOF Then
          ...
      End if

      objRS.open msql, objCon
      objRS.MoveFirst
      %>

      <table border="1">
      <tr>
      <th> Auftragsnummer </th>
      <th> Positionsnummer </th>
      <th> Beschreibung </th>
      </tr>

      <% While not objRS.EOF %>

      <tr> <td> <% response.write objRS("AufID") %> </td>
      <td> <% response.write objRS("PosID") %> </td>
      <td> <% response.write objRS("LeiID") %> </td> </tr>

      <%
      objRS.movenext
      wend
      objCon.Close

      Set objRS = Nothing
      %>

      </div>
      </body>
      </html>

      1. Hallo Sabine,

        Wenn ich nichts übersehen habe sind hier noch Fehler:

        mSQL="Select KunID, KunFirma, KunOrt, KunTelefon FROM TabKunden WHERE KunID = " & mKNR;"

        Sollte heissen:
        mSQL="Select KunID, KunFirma, KunOrt, KunTelefon FROM TabKunden WHERE KunID = " & mKNR
        oder
        mSQL="Select KunID, KunFirma, KunOrt, KunTelefon FROM TabKunden WHERE KunID = " & mKNR & ";"

        (Anzahl öffnende und schliessende Anführungszeichen nicht gleich, das Semikolon am Ende ist soweit ich weiss nicht zwingend notwendig)

        Hier dasselbe:

        mSQL="Select AufID, PosID, LeiID FROM TabAuftraege INNERJOIN TabPositionen on TabAuftraege.AufID=TabPositionen.AUFID WHERE KunID=" & mKNR;"

        Grüße
        Andreas

        --
        Hier könnte Ihre Werbung stehen.