Avatar billede djalfe Novice
29. april 2006 - 02:41 Der er 9 kommentarer og
1 løsning

Problemer med execute

hejsa
Har lidt problemer med at få execute til at virke korrekt.

Jeg kan ikke lige se hvad jeg gør forkert

-------------- funktion ----------------
function Validation(qryStr, objTest, objTestLen, errMsg)   
    formValidate = true
   
    select case objTest
        case "string"
            formValidate = valStr(qryStr, objTestLen)
        case "int"
            formValidate = valInt(qryStr, objTestLen)
        case "email"
            formValidate = valEmail(qryStr)
    end select
   
    if formValidate=false then

problem ---->    execute(qryStr&"Err = ""errMsg""")

    end if   
end function

function valStr(qryStr, objTestLen)
    valStr = true
    qryStr = request.Form(qryStr) 'Forspørgelse til givne input fra form
   
    if qryStr="" then
        valStr = false
    else
        if not objTestLen="" then
            if not qryStr=<objTestLen then
                valStr = false
            end if
        else
            'session(qryStr)=request.Form(qryStr)
        end if
    end if
end function


if request.Form("sbm") = "Send" then
    Validation "name", "string", 9, "Fejl!"
end if

Er der nogen der lige kan se hvad jeg gør forkert ??
//Djalfe
Avatar billede djalfe Novice
29. april 2006 - 02:42 #1
Ups
det er denne fejl herunder jeg
--------------- Fejl -----------------
Microsoft VBScript runtime error '800a000d'

Type mismatch: 'Err'

/project/2-3-06/test.asp, line 0
Avatar billede djalfe Novice
29. april 2006 - 02:44 #2
Som jeg har forstået execute, skulle resultatet af execute ikke blive noget lignende det her --> nameErr = Fejl

??????????????
Avatar billede eagleeye Praktikant
29. april 2006 - 10:54 #3
Som du har skrevet det vil nameErr blive lig errMsg skal nameErr være lig indholdet af errMsg så skal det være:

execute(qryStr&"Err = """ & errMsg & """")



dog er fejl at Type mismatch Err hvilket typer på qryStr er tom, men der bliver overført en værdi så prøv sådan her:

execute(""&qryStr&"Err = """ & errMsg & """")
Avatar billede morhan Novice
29. april 2006 - 11:05 #4
Err kan du heller ikke benytte som variabel. Det er ASPs objekt til errorhandling
Avatar billede djalfe Novice
29. april 2006 - 13:03 #5
Nu prøvede jeg så lige og sætte " execute(""&qryStr&"Err = """ & errMsg & """") " ind, men får stadig samme fejl med at 'Err' ikke passer ind

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'Err'

/project/2-3-06/test.asp, line 0
Avatar billede eagleeye Praktikant
29. april 2006 - 13:48 #6
Ja lyder som om qryStr er tom, prøv at udskrive det i stedet for at execute det:


Response.Write (""&qryStr&"Err = """ & errMsg & """")





Bliver Validation funktionen kaldt andre stedet fra?
Avatar billede morhan Novice
29. april 2006 - 15:08 #7
Uanset hvad du prøver, så vil du altid få den fejl, når du forsøger at bruge Err som din egen variabel. Se 29/04-2006 11:05:47
Avatar billede djalfe Novice
29. april 2006 - 16:54 #8
Jeg har skam fået det til at virke, da eagleeye forslog en response.write, for at se hvad den så ville udskrive. Som i kan se i top, hvor mit script er, så havde jeg fået valStr at definere qryStr til request.form(qryStr) derved bliver qryStr til ingenting, eller hvad der bliver skrevet i inputform "name"

Morhan>> Err skal være en del af den givende variabel i dette er nameErr, denne variabel udnytter jeg så til at informere clienten om givne fejl ved input'en

--> eagleeye: Bliver Validation funktionen kaldt andre stedet fra?
if request.Form("sbm") = "Send" then
    Validation "name", "string", 9, "Fejl!"
end if

Men jeg kan takke eagleeye mange gange, hvis du gerne vil have point ved du hvad der skal til :-) (et svar)
Avatar billede djalfe Novice
29. april 2006 - 16:56 #9
ups
Morhan>> Err er selvfølgelig tekst, så den ikke virker som predefineret variabel ell. hvad det nu hedder :-)
Avatar billede eagleeye Praktikant
29. april 2006 - 18:22 #10
Ok så kommer her et 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