Avatar billede canedo Nybegynder
28. februar 2005 - 17:13 Der er 12 kommentarer og
1 løsning

Hjælp til Type mismatch

Hvorfor får jeg en mismatch på dette?

Set rsVen = Server.CreateObject("ADODB.Recordset")
SQLVen = "SELECT * FROM [brugere]"
rsVen.Open, SQLVen, Connect, 1, 3

If NOT rsVen.EOF then
    Do while NOT rsVen.EOF
   
    id = session("BrugerID")


    rsVen("ekstra2") = replace(rsVen("ekstra2"), "," & id & "," ,",")
    rsVen("ekstra3") =  replace(rsVen("ekstra3"), "," & id & "," ,",")

    rsVen.Update

    Loop
End If

rsVen.close
Avatar billede hiks Nybegynder
28. februar 2005 - 17:20 #1
hej

går ud fra at det er din replace det er galt?!? Hvad er det du gerne vil replace?

/hiks
Avatar billede hiks Nybegynder
28. februar 2005 - 17:43 #2
hvis ikke det er din replace - så angiv lige i hvilken linie fejlen forekommer!

/hiks
Avatar billede canedo Nybegynder
28. februar 2005 - 18:01 #3
Provider error '80020005'

Type mismatch.

/www/003c_slet.asp, line 48



linje 48 er "rsVen.Open, SQLVen, Connect, 1, 3"

Jeg vil replace alle forekomster af "," & id & "," med et komma i databasefelterne ekstra2 og ekstra3.
Avatar billede canedo Nybegynder
28. februar 2005 - 18:31 #4
måske skal der ' udenom feltet, da det er et tekstfelt, men hvor sætter jeg dem?
Avatar billede softspot Forsker
28. februar 2005 - 18:59 #5
Prøv at fjerne kommaet i efter rsVen.Open

rsVen.Open SQLVen, Connect, 1, 3
Avatar billede canedo Nybegynder
28. februar 2005 - 19:01 #6
Nu får jeg en:

Microsoft VBScript runtime error '800a005e'

Invalid use of Null: 'Replace'

/www/003c_slet.asp, line 56
Avatar billede canedo Nybegynder
28. februar 2005 - 19:04 #7
Har ændret lidt i scriptet, men får nu denne fejl:
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'rsVen'
/www/003c_slet.asp, line 56


sådan ser mit script nu ud:

Set rsVen = Server.CreateObject("ADODB.Recordset")
SQLVen = "SELECT * FROM [brugere]"
rsVen.Open SQLVen, Connect, 3, 3
               
If NOT rsVen.EOF then
    Do while NOT rsVen.EOF
   
    id = session("BrugerID")

rsVen = rsVen("ekstra2")
rsVen2 = rsVen("ekstra3")


    rsVen("ekstra2") = replace(rsVen, "," & id & "," ,",")
    rsVen("ekstra3") =  replace(rsVen2, "," & id & "," ,",")

    rsVen.Update

    Loop
End If

rsVen.close
Avatar billede softspot Forsker
28. februar 2005 - 21:13 #8
Du skal nok prøve at bruge nogle andre variable til dit mellemresultat end den du holder dit resultat fra forspørgslen i, f.eks.:

  strVen1 = rsVen("ekstra2")
  strVen2 = rsVen("ekstra3")

  rsVen("ekstra2") = replace(strVen1, "," & id & "," ,",")
  rsVen("ekstra3") =  replace(strVen2, "," & id & "," ,",")
Avatar billede kjulius Novice
28. februar 2005 - 21:27 #9
Nemlig! - rsVen bliver defineret som en object variabel med

Set rsVen = Server.CreateObject("ADODB.Recordset")

så du kan ikke bare senere bruge den som en alm. variabel i sætningen

rsVen = rsVen("ekstra2")

og da slet ikke som begge dele i samme sætning. Det er ren gift...
Avatar billede canedo Nybegynder
28. februar 2005 - 21:30 #10
hehe... nu virker det. Jeg har gjort således:

If NOT rsVen.EOF then
    Do while NOT rsVen.EOF
   
    id = session("BrugerID")

strVen2 = rsVen("ekstra2") & ""
strVen3 = rsVen("ekstra3") & ""


    rsVen("ekstra2") = replace(strVen2, "," & id & "," ,",")
    rsVen("ekstra3") =  replace(strVen3, "," & id & "," ,",")

    rsVen.Update

    rs.movenext
    Loop
End If
Avatar billede canedo Nybegynder
28. februar 2005 - 21:30 #11
læg et svar softpot
Avatar billede canedo Nybegynder
28. februar 2005 - 21:31 #12
hov...
Avatar billede kjulius Novice
11. marts 2005 - 00:15 #13
Ja, det må du nok sige. Han/hun hedder altså softspot, ikke softpot! ;o)
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