Hinweis wenn kein Datensatz vorhanden

redwing78

Mitglied
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
 

Luzie

Erfahrenes Mitglied
Hi

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

Code:
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
 

redwing78

Mitglied
Hi!
Ich habs jetzt folgendermaßen probiert:
(aber an der Fehlermeldung ändert sich nichts)

Code:
<% 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 %>
 
Zuletzt bearbeitet:

redwing78

Mitglied
Hi,
habe die Sache erledigt.
Diese Anweisung gehört VOR die MoveFirst-Anweisung.
Liebe Grüsse,
redwing78
 
Zuletzt bearbeitet:

redwing78

Mitglied
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
 

Luzie

Erfahrenes Mitglied
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.