Avatar billede blaatand Nybegynder
10. marts 2004 - 20:49 Der er 14 kommentarer og
1 løsning

Der er for få parametre. Der var ventet 1.

strSQL = "UPDATE FORUM_MEMBERS SET" &_
            " M_ADMINRIGHTS = '"&Replace(Request.Form("Userrights"),"'", "´")&"'"&_
            " WHERE ID ="&strID
                       
            Conn.Execute(strSQL)


Forstår ikke helt hvad der er galt her.

fejlen er følgende:

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1.
/beta.mohaa.dk/dv/admin-adduserrights.asp, line 106
Avatar billede thesurfer Nybegynder
10. marts 2004 - 20:53 #1
Du skal sikre dig at der står noget i både Request.Form("Userrights") og i strID.
Der mangler sikker noget i Request.Form("Userrights"), dvs form feltet der hdder "Userrights".
Avatar billede eagleeye Praktikant
10. marts 2004 - 20:53 #2
Er du sikker på der er noget i strID ?

Du kan evt. prøve at udskrive strSQL inden Conn.Execute linjen:

      Response.write strSQL
      Response.End
      Conn.Execute(strSQL)
Avatar billede thesurfer Nybegynder
10. marts 2004 - 20:53 #3
Man plejer at erstatte 1 ' tegn med 2 ' tegn, som opfattes som 1 ' tegn:

Replace(Request.Form("Userrights"),"'", "''")
Avatar billede blaatand Nybegynder
10. marts 2004 - 20:55 #4
Altså, response.write på strSQL giver følgende:

UPDATE FORUM_MEMBERS SET M_ADMINRIGHTS = '2' WHERE ID =2
Avatar billede thesurfer Nybegynder
10. marts 2004 - 20:58 #5
Hvis M_ADMINRIGHTS er tal, dvs ikke bogstaver eller andre tegn, skal der *ikke* ' tegn udenom:

strSQL = "UPDATE FORUM_MEMBERS SET" &_
            " M_ADMINRIGHTS = "&Replace(Request.Form("Userrights"),"'", "´")&_
            " WHERE ID ="&strID

Men jeg kan ikke forstå hvor du så vil erstatte ' tegnet, når det ikke indgår?
Avatar billede eagleeye Praktikant
10. marts 2004 - 20:58 #6
ok, er du så sikker på kolonnenave er skrevet rigtigt i forhold til databasen?
Avatar billede thesurfer Nybegynder
10. marts 2004 - 20:59 #7
Og så ser koden sådan ud:

strSQL = "UPDATE FORUM_MEMBERS SET" & _
            " M_ADMINRIGHTS = " & Request.Form("Userrights")& " WHERE ID =" & strID
Avatar billede eagleeye Praktikant
10. marts 2004 - 21:00 #8
thesurfer >> fordi man erstatter ' behøver det jo ikke indgå hvergang :)
Avatar billede blaatand Nybegynder
10. marts 2004 - 21:00 #9
kolonner passer og det hele.

thesurfer, dit forslag lyder som noget jeg lige må prøve, for det er tal, tænkte jeg ikke på, glemmer altid den der med tallene :-/

mht. til at replace, så er det fordi jeg prøvede og copy/paste noget der virkede ind i scriptet, for at se om jeg havde skrevet forkert ;o)
Avatar billede blaatand Nybegynder
10. marts 2004 - 21:02 #10
strSQL = "UPDATE FORUM_MEMBERS SET" &_
" M_ADMINRIGHTS = "&Replace(Request.Form("Userrights"),"'", "´")&" "&_
" WHERE ID ="&strID

Giver samme udslag..
Avatar billede thesurfer Nybegynder
10. marts 2004 - 21:02 #11
eagleeye> Det har du da fuldstændig ret i ;-)
Men jeg vil mene at, man gerne vil ha' en eller anden form for apostrof, når man erstatter ' tegnet med ´ tegnet :)

Derfor tænkte jeg ' erstattes med '' :-)
Avatar billede thesurfer Nybegynder
10. marts 2004 - 21:04 #12
"for det er tal"? Så skal der jo ikke erstattes noget.. :)
Prøv denne linie, på 1 linie:

strSQL = "UPDATE FORUM_MEMBERS SET M_ADMINRIGHTS = " & Request.Form("Userrights") & " WHERE ID = " & strID
Avatar billede blaatand Nybegynder
10. marts 2004 - 21:04 #13
hui... tror jeg har den, snitz forums bruger jo ikke ID, men MEMBER_ID som nøgle.
Avatar billede blaatand Nybegynder
10. marts 2004 - 21:05 #14
kvaj... kan ikke sige andet om mig selv lige nu ;o)
Avatar billede blaatand Nybegynder
01. marts 2005 - 23:56 #15
Lukker

Ingen der har "svaret", så lukker uden point fordeling.
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