Peter U.: leeren Datensatz abfangen

Beitrag lesen

Hallo Leute.

Ich habe unten eine (stark gekürzte) ASP Seite stehen, die zwei Datenbanken abfragt und die Ergebnisse als Tabelle ausgibt (bzw. ausgeben soll). Mein Problem ist jetzt, dass ich nicht weiss ob die Auftragsnummer in Datenbank 1 oder in db2 steht. Also muss ich beide Datenbanken abfragen. Wenn jetzt aber in der ersten Datenbank nichts gefunden wird, kommt folgende Fehlermeldung:

ADODB.Recordset-Fehler '800a0bcd'
Entweder BOF oder EOF ist True, oder der aktuelle Datensatz wurde gelöscht; die von der Anwendung angeforderte Operation benötigt einen aktuellen Datensatz.

und das Script wird beendet.

Wie kann ich das abfangen? Ich hab' schon versucht IF rs.BOF <> rs.EOF vor die Ausgabe (also vor die DO...WHILE Schleife) zu schreiben, aber das war natürlich nix.

Ich hoffe ihr könnt mir helfen.

Ciao, Peter.

-----------------------------------------------------------------------------------

<html><body>
<table>
<%  
abfrage "structura NOVA", "PPS5C", "64-KP53169A"
abfrage "Berlin", "PPSas61", "64-KP53169A"
%>
</table>
</body></html>

<%
sub abfrage(odbc, db, auftnr)
     sql = "SELECT * FROM " & db & ".AUFTRAG AUFTRAG WHERE AUFTRAG.AUFTRNR='" & auftrnr & "'
     set conn = server.CreateObject("ADODB.Connection")
     conn.open odbc
     set rs = conn.execute(sql)
     rs.MoveFirst
     DO WHILE NOT rs.EOF
        response.write"<tr>"

response.write "<td>"
        response.write rs.Fields("ARTIKEL.ARTTEILNR")
        response.write "</td>"

response.write "</tr>"
        rs.MoveNext
     LOOP
     rs.close
     set rs=nothing
     conn.close
     set conn=nothing
end sub
%>
-----------------------------------------------------------------------------------