tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
1014
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    redwing78 redwing78 ist offline Mitglied Silber
    Registriert seit
    Mar 2005
    Beiträge
    75
    Hallo,
    ich lasse auf einer ASP-Seite alle Datensätze ausgeben, die ein gewisses Attribut erfüllen. Wenn die Tabelle leer ist, wird eine Fehlermeldung gezeigt (ADODB.Recordset-Fehler: 800a0bcd" ....

    Wie kann ich veranlassen, daß anstelle der Fehlermeldung eine benutzerdefinierte Anzeige ausgegeben wird (zB Es wurden noch keine Datensätze hinterlegt), wenn kein entsprechender Datensatz vorhanden ist?

    Danke - mfG
    redwing78
     

  2. #2
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    Hi

    Du fragst die Datensatzgruppe oder das Recordset auf eof oder bof ab (end of file) (beginn of file)

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    if rs.eof or rs.bof then
         Response.write "keine Daten vorhanden"
    else
         while not rs.eof
                  Response.write rs("feld") & "<br>"
         rs.movenext
         wend
    end if
     
    liebe Grüße, die Luzie

  3. #3
    redwing78 redwing78 ist offline Mitglied Silber
    Registriert seit
    Mar 2005
    Beiträge
    75
    Hi!
    Ich habs jetzt folgendermaßen probiert:
    (aber an der Fehlermeldung ändert sich nichts)

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    <% strDB = "Data Source=" & Server.MapPath("../datenbank/fckitz.mdb") ' Pfad und Dateiname der Datenbank
    strCon = "Provider=Microsoft.Jet.OLEDB.4.0;" & strDB ' Parameter zum Oeffnen der Datenbank
    strTabelle = "News" ' Name der Tabelle oder Abfrage, die ge&ouml;ffnet werden soll
    Set objCon = Server.CreateObject("ADODB.Connection") ' Objekt f&uuml;r den Verbindungsaufbau mit der Datenbank
    objCon.Open strCon
    Set objRS = Server.CreateObject("ADODB.Recordset") ' Objekt fuer das Recordset-Objekt           
    strSQL = "SELECT * FROM News WHERE Bereich LIKE 'u12%' ORDER BY Datum Desc"     
    objRS.Open strSQL, objCon
    objRS.MoveFirst ' Geht zum ersten Datensatz
    intCounter = 1
    if objRS.BOF or objRS.EOF then
     Response.Write "Kein Datensatz vorhanden"
    else
    While Not objRS.EOF ' Liest, bis das Ende der Daten erreicht ist %>
     
    [...]
     
    <% objRS.Close ' Recordsetobjekt schliessen
    Set objRS = Nothing %>
    <% end if %>
    Geändert von redwing78 (09.08.05 um 21:25 Uhr)
     

  4. #4
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    dann gib doch mal die ganze komplette Fehlermeldung hier an.
     
    liebe Grüße, die Luzie

  5. #5
    redwing78 redwing78 ist offline Mitglied Silber
    Registriert seit
    Mar 2005
    Beiträge
    75
    Hi,
    habe die Sache erledigt.
    Diese Anweisung gehört VOR die MoveFirst-Anweisung.
    Liebe Grüsse,
    redwing78
    Geändert von redwing78 (09.08.05 um 22:28 Uhr)
     

  6. #6
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    Hi

    ich wollte gerade sagen, nimm movefirst raus, brauchst Du nicht wirklich.
     
    liebe Grüße, die Luzie

  7. #7
    redwing78 redwing78 ist offline Mitglied Silber
    Registriert seit
    Mar 2005
    Beiträge
    75
    Ja, das hab ich gemacht und jetzt funktioniert's ...

    Eine Kleinigkeit noch:
    In einer Datei wird die Textausgabe bei BOF/EOF ("Kein Eintrag vorhanden") am Seitenanfang ausgegeben, in einer anderen Datei an derjenigen Stelle, wo die Datenbankverbindung erfolgt.

    Wovon hängt die Positoinierung ab?
    Danke, LG redwing78
     

  8. #8
    Registriert seit
    Aug 2003
    Ort
    Arnsberg, Germany, Germany
    Beiträge
    1.066
    Hallo

    die Positionierung hängt eigentlich von Dir ab.

    Wenn die Ausgabe direkt in der Schleife stattfindet, ist es nur ein entweder oder. ....

    Wenn Du aber die ausgabe z.B. in eine Variable speicherst, kannst Du sie natürlich überall ausgaben. Du kannst Auch das Recordset schließen und eine Weiterleitung auf eine andere Seite stattfinden lassen, wenn kein Datensatz vorhanden ist.
     
    liebe Grüße, die Luzie

Ähnliche Themen

  1. [MySQL] Datensatz eintragen, wenn nicht vorhanden
    Von Steusi im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 03.11.10, 15:18
  2. Datensatz löschen, wenn in einer anderen Tabelle nicht vorhanden
    Von port29 im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 15.08.10, 03:16
  3. INSERT aber nur wenn Datensatz noch nicht vorhanden ist.
    Von mafin im Forum Relationale Datenbanksysteme
    Antworten: 6
    Letzter Beitrag: 17.12.08, 10:41
  4. Antworten: 3
    Letzter Beitrag: 22.10.07, 08:31
  5. wenn kein datensatz vorhanden, dann ...
    Von eugster im Forum PHP
    Antworten: 3
    Letzter Beitrag: 09.03.05, 11:36