Martin: Kontrolle von Recordset(ob leer oder nicht)

Hallo Leute

Hab mal wieder ein Problem.
Habe in einer ASP-Datei einige VBScripte drin die sich Daten aus meiner Access DB ziehen. Dabei kann es aber vorkommen das gewisse Links(die ich gesetzt habe)noch leer sind, da es momentan keine Daten in der DB gibt. Wie kann ich das Recordset abfragen ob es leer ist oder nicht? Habe schon mit Empty und NoMatch, IsNull und rs.length herumgebastelt aber immer ist der IE der Meinung es muss eine Klammer geschlossen werden, und zwar immer vor den Vergleichsoperatoren. Damit Ihr euch vorstellen könnt was ich meine:

<%
Dim conn
Dim rs
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open g_FIXX_strConnect
Set rs = Server.CreateObject("ADODB.Recordset")
Set rs = conn.Execute("select * from test1 Where SeitenID='Stadt'")
If (rs.length != 0) Then
%>
<a href="http://www.test.de/updaterecord1.asp?Text06=<%=rs.Fields(25).Value%>&Text06_JTMRType=UNKNOW(203DSN_Name=test&Table_Name=test1" target="Hauptframe">Teil4</a><br>
<%
rs.Close
conn.Close
End if
%>

Ich hoffe Ihr könnt mir helfen???
Danke schon im Vorraus

Gruß Rikscha

  1. Hallo Martin,

    [..]

    Wie kann ich das Recordset abfragen ob es leer ist oder nicht?

    [..]

    Nachfolgend ein Beispiel
    <%
    rs.open SQL, conn, 3, 3
    If Not rs.EOF Then
        ' --- Alles OK. mind. 1 Datensatz vorhanden
        ...
        Else
           ' --- Kein Datensatz gefunden
           ...
    End if
    rs.Close
    %>

    Tschau, Stefan

  2. hallo martin

    es gibt auch
    rs.recordcount > 0
    soweit ich weiß

    grüße
    FICHTL

  3. Hallo !

    Ich bin leider ein totaler ASP-Laie, aber wird nicht,
    ganz unabhängig von der Frage des leeren Recordset,
    ohnehin der ganze <a href...>-teil ausgespuckt, da er ausserhalb des ASP-Bereichs (%> also hier <%) liegt?

    Demnach stünde dort IMMER :
    -----------------------------------------------------
    <a href="http://www.test.de/updaterecord1.asp?Text06=XYZ&Text06_JTMRType=UNKNOW (203DSN_Name=test&Table_Name=test1" target="Hauptframe">Teil4</a>
    -----------------------------------------------------
    wobei XYZ der Variableninhalt wäre (oder eben leer)

    Meiner Ansicht nach gehört der ganze Kram IN den ASP-Bereich und dort wird dann der Link eben in Abhängigkeit zur IF-Abfrage aufgebaut. (bei PHP z.B. über echo ...)

    Wie sehen die ASP-Meister das?

    aber immer ist der IE der Meinung es muss eine Klammer geschlossen werden, und zwar immer vor den Vergleichsoperatoren.

    Die Klammer geht übrigens wirklich nicht zu.
    Wohl aber sind bei Parameterübergabe mehr = als &, wodurch es zu fiesen Problemen kommt ?

    Wie gesagt, bin ASP-Laie, kann also alles Quatsch sein, was ich hier schreibe.

    Das ganze kommt mir aber _seeehr_ spanisch vor.

    Gruß,
    kerki

  4. servus
    nochmal ich
    falscher operator?

    If (rs.length != 0) Then

    ungleich ist doch <>
    probiers mal!

    grüße
    FICHTL

    ps.: irgendwie bringe ich keine ganzen sätzte zustande?
    ;-))

  5. Hi Rikscha,

    so mach ich's immer:

    if Not ( rs.BOF and rs.EOF ) then

    Also wenn nicht gleichzeitig der Dateianfang und das Dateiende erreicht ist.

    Gruß,
    Martin