[ASP] Foutmelding bij BOF van recordset

Pagina: 1
Acties:

  • El_BingO
  • Registratie: Juli 2001
  • Laatst online: 26-08 12:01
Halloa,

Heb de volgende functie:
code:
1
2
3
4
5
6
7
8
9
10
Function getResultSet(SQL)
      dbconn.open Application("conn_string")
      Set rs = Server.CreateObject("ADODB.RecordSet")
      rs.ActiveConnection = dbconn
      rs.CursorLocation = adUseClient 
      rs.open SQL,,adOpenStatic,adLockReadOnly
      rs.ActiveConnection = Nothing 
      dbconn.close
     getResultSet = rs
End Function


En vervolgens roep ik deze zo aan:
code:
1
2
3
Set rs_user = getResultSet("SELECT * FROM tabel")

If Not rs_user.BOF And Not rs_user.EOF Then

En dan geeft ie hier de foutmelding:

Microsoft VBScript runtime error '800a01b6'

Object doesn't support this property or method: 'rs_user.BOF'


Wat ik dus wil is een losgekoppelde (van de connection) resultset maken (dat lukt, getest), en die terug geven met de function. Hij geeft het ook terug, want als ik boven de BOF aanroep rs_user("KOLOM") aanroep, geeft ie wel een waarde terug.

Hij herkent BOF dus niet, terwijl als ik dezelfde code uit de functie haal en er boven zet, dan doet ie het wel! Help!

  • El_BingO
  • Registratie: Juli 2001
  • Laatst online: 26-08 12:01
Tis al gelukt, waarschijnlijk geeft de functie het object niet goed terug.

Voor de volledigheid post ik nog maar ff de oplossing:
functie code:
code:
1
2
3
4
5
6
7
8
9
10
Sub getResultSet(ByRef rs,SQL)
    dbconn.open Application("conn_string")
    Set rs = Server.CreateObject("ADODB.RecordSet") 
        rs.ActiveConnection = dbconn
        
    rs.CursorLocation = adUseClient 
    rs.open SQL,,adOpenStatic,adLockReadOnly
    rs.ActiveConnection = Nothing   
    dbconn.close
End Sub


aanroep:
code:
1
2
Set rs_user = Server.CreateObject("ADODB.RecordSet")
getResultSet rs_user, "SELECT * FROM tabel"


Met de ByRef methode kan je dus de meegegeven resultset direct toewijzen (daarom een Sub, geen function).

Toch bedankt, El BingO! ;)

[ Voor 0% gewijzigd door El_BingO op 02-08-2002 11:26 . Reden: quote-je weg gehaald ]


  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
Zo zo, reply jij eff op je eigen post? :)

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Ik vind het prijzenswaardig om even terug te komen en de oplossing te posten :) Hebben anderen er nog wat aan later

  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
Glimi schreef op 02 augustus 2002 @ 11:31:
Ik vind het prijzenswaardig om even terug te komen en de oplossing te posten :) Hebben anderen er nog wat aan later
Ik ook hoor _/-\o_ _/-\o_

  • El_BingO
  • Registratie: Juli 2001
  • Laatst online: 26-08 12:01

  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
BTW, nieuwe smilies zijn best kewl:

_/-\o_
O-)
8)7

  • El_BingO
  • Registratie: Juli 2001
  • Laatst online: 26-08 12:01
zneek schreef op 02 augustus 2002 @ 11:39:
BTW, nieuwe smilies zijn best kewl:

_/-\o_
O-)
8)7
Wat heeft de belastingdienst er nou weer mee te maken ;) :Y)

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 09:31

Crazy D

I think we should take a look.

Nog een kleine tip: wat ik zelf bij dat soort functies wel handig vind, om er geen sub maar een functie van te maken, en een boolean terug te laten geven of er iets gevonden is of niet, zodat je niet
code:
1
2
getResultset rs, query
if not rs.EOF then ...

hoeft te doen, maar in 1 keer
code:
1
if getResultset(rs, query) then ...

Exact expert nodig?


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

<h3>blijven we nog wel ontopic SVP :? </h3>

Doet iets met Cloud (MS/IBM)


  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
D2k schreef op 02 augustus 2002 @ 12:00:
<h3>blijven we nog wel ontopic SVP :? </h3>
:? We zijn toch ontopic? Goed idee Crazy_D, lijkt me ook de beste oplossing.

  • El_BingO
  • Registratie: Juli 2001
  • Laatst online: 26-08 12:01
Crazy_D schreef op 02 augustus 2002 @ 11:59:
Nog een kleine tip: wat ik zelf bij dat soort functies wel handig vind, om er geen sub maar een functie van te maken, en een boolean terug te laten geven of er iets gevonden is of niet, zodat je niet
code:
1
2
getResultset rs, query
if not rs.EOF then ...

hoeft te doen, maar in 1 keer
code:
1
if getResultset(rs, query) then ...
Idd een erg goede oplossing. Kneem het mee, en ik denk zelfs dat het terugkeren van de rowcount ipv een boolean misschien nog handiger kan zijn. Thnx in ieder geval! _/-\o_
Pagina: 1