Avatar billede stkol76 Novice
18. september 2018 - 11:14 Der er 6 kommentarer og
1 løsning

ASP Count Property giver forkert output

Hej,

Jeg forsøger at lave et count med ASP Classic Count Property ved hjælp af nedenstående kode, men selv om "o.Add" skal returnere værdien 2 i mit setup, returnerer den kun 1. .. for så vidt angår "f.Add " returnerer denne 0, som for øjeblikket er rigtigt, men i det at "o.Add" kun returnerer 1 er jeg sikker på at hvis begge servere går offline, ville det også kun returnere 1 og ikke 2. .. koden jeg bruger er: (Skal lige siges at "IsWebsiteUp" funktionen defineres i et scrip uden for nedenstående)

<%
    Dim robConn, rSQL, objRobot, strWebsite, o, f
    Set robConn = Server.CreateObject("ADODB.Connection")
    robConn.ConnectionString="Provider=SQLOLEDB; DATA SOURCE=<SQLSERVER>;UID=<USERNAME>;PWD=<PASSWORD>;DATABASE=<DATABASE>"
    robConn.Open

    rSQL = "SELECT id, name, bot_type_id, machine_name, enabled FROM dbo.robots ORDER BY id;"
    Set objRobot = robConn.Execute(rSQL)

    While Not objRobot.EOF

    set o=Server.CreateObject("Scripting.Dictionary")
    set f=Server.CreateObject("Scripting.Dictionary")

    strWebsite =  objRobot("machine_name") & ".koncern.net"

    if IsWebsiteUp( strWebsite ) Then
    o.Add objRobot("id"), objRobot("machine_name")
    Else
    f.Add objRobot("id"), objRobot("machine_name")
    End If

    objRobot.MoveNext

    Wend
    objRobot.Close
    Set objRobot = Nothing
%> 

<% Response.Write("Online: " & o.Count) %>
<br>
<% Response.Write("Offline: " & f.Count) %>

<%
    set o=nothing
    set f=nothing
%>

Er der en der kan gennemskue hvorfor ovenstående ikke giver korrekt output?

Mvh
Stig :-)
Avatar billede claes57 Ekspert
18. september 2018 - 12:46 #1
While Not objRobot.EOF
skal nok flyttes efter de to Server.CreateObject("Scripting.Dictionary")
Avatar billede stkol76 Novice
18. september 2018 - 13:10 #2
Hej Claes,

Jeg vil tro det måske løste noget af det, dog kommer den nu med en fejl som indikerer at den prøver at lave dobbelt key, hvilket jo ikke burde kunne lade sig gøre da både "id" og "machine_name" er unikke .. fejlen jeg får er:

"This key is already associated with an element of this collection"
Avatar billede claes57 Ekspert
18. september 2018 - 13:25 #3
Du må dumpe et print med id og maskinnavn i stedet for opdateringen, og se, om der er forskel for at spore den...
Avatar billede stkol76 Novice
18. september 2018 - 13:37 #4
Print Output er :

1, RPABOT01
2, RPABOT02

Altså er de unikke
Avatar billede claes57 Ekspert
18. september 2018 - 14:09 #5
det kan jeg ikke gennemskue - kan det laves i array i stedet?
Avatar billede stkol76 Novice
18. september 2018 - 14:48 #6
Jeg har lige prøvet at lave det om til et Array, men det kan jeg heller ikke rigtigt få til at spille ;-(
Avatar billede Bjarne S. Nielsen Juniormester
04. juni 2019 - 14:50 #7
Har du prøvet :

var=objRecordset.RecordCount
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester