webForumDet fria alternativet

Eländes Komponenter

ASP

5 svar · 166 visningar · startad av ironhead

Medlem sedan mars 20011 346 inlägg
Frågan#1

...eller är det bara jag som inte kan nåt :)

Jag får ett fel när jag ska lista data ur en SQL-databas med en komponent. Så här ser det ut:

Set rst = Server.CreateObject("ADODB.RecordSet")
Set objHandBook = Server.CreateObject ("HandbokSokning.HandBookSearch")
set rst = objHandBook.GetHandBooks
while not rst.EOF
<%= rst.Fields("sName")%>
rst.MoveNext
wend
set rst = nothing

Är det något fel på denna kod? Får det inte att funka utan får felmeddelandet Argument not optional: 'GetHandBooks'

Please Help :)
\\Peter Johansson

Medlem sedan juli 20003 825 inlägg
#2

Allt är ju ASP, inte bara utskriften som du angett! :-)

Byt:
<%= rst.Fields("sName")%>
Till:
response.write rst.Fields("sName") & "<BR>" & vbCRLF

[r]response.write rst("sName") & "<BR>" & vbCRLF

Vad är fields för något!?[/r]

...och så sätter du all kod inom <% ... %>

[r2]
Dessutom ska du avsluta med LOOP, inte WEND.
[/r2]
------------------
"Never underestimate your opponents." - Name the movie.

[Redigerat av Eclipse den 27 mar 2001]

[Redigerat av Eclipse den 27 mar 2001]

Medlem sedan juni 200032 967 inlägg
#3

hej där! :)

metoden GetHandBooks har argument som inte är valbara, utan måste anges. hur ser den funktionen ut i komponentkoden?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

Medlem sedan mars 20011 346 inlägg
#4

bah! fick till det till slut...man blir kod-blind :)
Jag glömde skicka med argumenten till komponenten, det skulle vara:

set rst = objHandBook.GetHandBooks(Application("provider"), Application("conStr"))

Medlem sedan juni 200032 967 inlägg
#5

Dessutom ska du avsluta med LOOP, inte WEND

nja...

do-loopar loopas med loop.
while-loopar loopas med wend. :)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

Medlem sedan dec. 1999707 inlägg
#6

Jag är inte säker på att du måste instantiera ett recordset. skulle kunna tänka mig att du endast behöver dimma en variablen för recordset:et eftersom din komponentmetod returnerar ett recordset. I sådana fall blir koden:

Dim rst
Set objHandBook = Server.CreateObject ("HandbokSokning.HandBookSearch")
Set rst = objHandBook.GetHandBooks
while not rst.EOF
     response.write rst.Fields("sName")
     rst.MoveNext
wend
set rst = nothing

Det är värt ett försök.... :)

------------------
/ Torbjörn Hansson, webbutvecklare
Endero Sverige

316 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
160 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
178 ms — ändringar (db)