Avatar billede psyclown Nybegynder
05. marts 2006 - 02:38 Der er 6 kommentarer og
1 løsning

problem med loop

Har en side med 2 multiple comboboxe hvor man kan flytte værdier fra  den ene til den anden og omvendt selvfølgeligt.
På en anden side har jeg så taget værdien fra en den ene combobox, og skal have dem udskrevet og den skal checke alle værdierne i databasen, om de findes eller ej, gøre forskellige ting og derefter udskrive dem.

Problemet er bare at det er some om at den ikke kommer videre fra den første værdi i mit array, og derfor udskriver den alle sammen med det samme navn osv.
Kan ikke selv finde nogle fejl i min kode, men har nok set mig blind på et eller andet og vil derfor prøve at se om der ikke skulle være en her, der kan se hvad jeg ikke kan.

her er koden:

Response.Write "          <table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""100%"">"& vbCrLf
TableBgColor = "#B2B2B2"
PatArray = Split(addDkpPaticipants, ",")

For iPats = 0 To Ubound(PatArray)
    If TableBgColor = "#B2B2B2" Then
        TableBgColor = "#A6A6A6"
    Else
        TableBgColor = "#B2B2B2"
    End If

    SQL_GET_PAT = "SELECT * FROM signups WHERE s_name = '"& PatArray(iPats) &"' AND s_raid_id = "& raid_id
    Set rsGetPats = conntemp.execute(SQL_GET_PAT)

    If Not rsGetPats.EOF Then
        signupsCharId = Clng(rsGetPats("s_char_id"))
        signupsUserId = Clng(rsGetPats("s_user_id"))
        signupsName = rsGetPats("s_name")
        signupsClass = rsGetPats("s_class")
        signupsDkp = Clng(rsGetPats("s_dkp"))
    Else
        SQL_GET_NEW_PAT_INFO = "SELECT * FROM characters WHERE char_name = '"& PatArray(iPats) &"'"
        Set rsGetNewPatInfo = conntemp.execute(SQL_GET_NEW_PAT_INFO)

        If Not rsGetNewPatInfo.EOF Then
            charId = Clng(rsGetNewPatInfo("char_id"))
            charUserId = Clng(rsGetNewPatInfo("char_user_id"))
            charName = rsGetNewPatInfo("char_name")
            charClass = rsGetNewPatInfo("char_class")
            charDkp = Clng(rsGetNewPatInfo("char_dkp"))

            SQL_NEW_PAT = "INSERT INTO signups (s_raid_id, s_char_id, s_user_id, s_date, s_name, s_class, s_dkp) "&_
            "VALUES ("& raid_id &", "& charId &", "& charUserId &", #"& Now() &"#, '"& charName &"', '"& charClass &"', "& charDkp &")"
            conntemp.execute(SQL_NEW_PAT)

            signupsCharId = charId
            signupsUserId = charUserId
            signupsName = charName
            signupsClass = charClass
            signupsDkp = charDkp

            rsGetNewPatInfo.Close : Set rsGetNewPatInfo = Nothing
        End If
    End If

    Response.Write "            <tr bgcolor="""& TableBgColor &""">"& vbCrLf &_
    "              <td class=""ForumContentF"" width=""30%"">"& signupsName &" ("& signupsClass &")"
    If signupsReserved Then
        Response.Write " - Reverse"
    End If
    Response.Write "</td>"& vbCrLf &_
    "              <td class=""ForumContentM"" align=""center"" width=""13%"">"& signupsDkp &"</td>"& vbCrLf &_
    "              <td class=""ForumContentM"" align=""center"" width=""10%""><input class=""SmallCheckBox"" type=""checkbox"" name=""addDkpOnTime"" value=""3"""
    If Not signupsReserved Then
        Response.Write " checked"
    End If
    Response.Write "></td>"& vbCrLf &_
    "              <td class=""ForumContentM"" align=""center"" width=""10%""><input class=""SmallCheckBox"" type=""checkbox"" name=""addDkpNoShow"" value=""-1""></td>"& vbCrLf &_
    "              <td class=""ForumContentM"" align=""center"" width=""15%""><input class=""SmallCheckBox"" type=""checkbox"" name=""addDkpDisbehaviour"" value=""-1""></td>"& vbCrLf &_
    "              <td class=""ForumContentM"" align=""center"" width=""8%""><input class=""SmallCheckBox"" type=""checkbox"" name=""addDkpPlayed"" value=""1"""
    If Not signupsReserved Then
        Response.Write " checked"
    End If
    Response.Write "></td>"& vbCrLf &_
    "              <td class=""ForumContentM"" align=""center"" width=""7%""><input type=""text"" size=""2"" name=""addDkpHours"& signupsCharId &""""
    If Not signupsReserved Then
        Response.Write " value="& addDkpHours
    Else
        Response.Write " value=""0"""
    End If
    Response.Write "></td>"& vbCrLf &_
    "              <td class=""ForumContentL"" align=""center"" width=""7%""><input type=""text"" size=""2"" name=""addDkpOther"& signupsCharId &"""></td>"& vbCrLf &_
    "            </tr>"& vbCrLf
Next
Response.Write "          </table>"& vbCrLf &_
Avatar billede cpufan Juniormester
05. marts 2006 - 13:58 #1
en linie ind:

ipats = ipats + 1 'denne skal ind lige før next
Next
Response.Write "          </table>"& vbCrLf &_
Avatar billede psyclown Nybegynder
05. marts 2006 - 14:24 #2
Det hjalp så ikke meget, så tager den jo kun hver anden værdi fordi at man først har iPats = iPats + 1, som går til den næste også har man Next bagefter, som tager den næste igen.
Det underlige er at hvis jeg udskriver SQL_GET_PAT for hver værdi, så kan jeg se at fint nok søger i databasen hver de rigtige kriterier, men den udskriver stadig kun værdierne for den første værdi ved alle sammen
Avatar billede cpufan Juniormester
05. marts 2006 - 14:27 #3
ja det er rigtigt ---- min fejl
Avatar billede cpufan Juniormester
05. marts 2006 - 14:30 #4
prøv at udkommentere denne linie:

            rsGetNewPatInfo.Close : Set rsGetNewPatInfo = Nothing

du skal jo ikke lukke forbindelsen før den har exit loop'et
Avatar billede psyclown Nybegynder
05. marts 2006 - 14:32 #5
Det gav heller ingen forandringer
Avatar billede psyclown Nybegynder
05. marts 2006 - 20:57 #6
problem løst
Avatar billede psyclown Nybegynder
05. marts 2006 - 20:57 #7
svar
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



IT-JOB