Avatar billede thomas_b Nybegynder
22. august 2004 - 21:06 Der er 11 kommentarer og
1 løsning

Hvorfor kan mit script ikke update ?

jeg har dette script der ikke vil opdatere i min database, hvas er min fejl..:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("man.mdb")
Conn.Open DSN

SQL = "Select * FROM Produkt WHERE ID=" & Session("ID")
Set rs = Conn.Execute(SQL)


if Request.ServerVariables("REQUEST_METHOD") = "POST" then

if Request.form("Brugernavn") = "" then
    Response.Write("<td class=menu_punkt style=background-color:#;text-align:right;color:#FF0000;>Du skal vælge en brugerkode !</td>")
end if
if Request.form("Brugerkode") = "" then
    Response.Write("<td class=menu_punkt style=background-color:#;text-align:right;color:#FF0000;>Du skal vælge et fornavn !</td>")
end if
if Request.form("Fornavn") = "" then
    Response.Write("<td class=menu_punkt style=background-color:#;text-align:right;color:#FF0000;>Du skal vælge et efternavn !</td>")
end if
if Request.form("Efternavn") = "" then
    Response.Write("<td class=menu_punkt style=background-color:#;text-align:right;color:#FF0000;>Du skal vælge en by !</td>")
end if

if Brugernavn <> "" AND Brugerkode <> "" AND Fornavn <> "" AND Efternavn <> "" then
        rs.update
        rs("Brugernavn") = Request.form("Brugernavn")
        rs("Brugerkode") = Request.form("Brugerkode")
        rs("Fornavn") = Request.form("Fornavn")
        rs("Efternavn") = Request.form("Efternavn")
        rs("Velkomst") = Request.form("Velkomst")
        rs.update
Response.write "<td class=menu_punkt style=background-color:#"& index_color &";text-align:right;color:#FF0000;>Dit produkt er nu opdateret !</td>"
end if
end if
%>

-----
Hvad kan der være galt...?
Avatar billede erikjacobsen Ekspert
22. august 2004 - 21:15 #1
Du skal i hvert fald droppe den første        rs.update
Avatar billede erikjacobsen Ekspert
22. august 2004 - 21:16 #2
Og hvor for fx Brugernavn en værdi?
Avatar billede erikjacobsen Ekspert
22. august 2004 - 21:16 #3
Og hvor får fx Brugernavn en værdi?  (ramte forkert på tasterne ...)
Avatar billede thomas_b Nybegynder
22. august 2004 - 21:21 #4
Hvordan giver man dem f.eks. en værdi ?
Avatar billede erikjacobsen Ekspert
22. august 2004 - 21:23 #5
Brugernavn = Request.Form("Brugernavn")

og hvis du gør det øverst kan du spare lidt skrivearbejde senere (dvs undgå
at skrive Request.Form så mange gange).
Avatar billede thomas_b Nybegynder
22. august 2004 - 21:34 #6
så skriver den dette...:

ADODB.Recordset error '800a0cb3'

Object or provider is not capable of performing requested operation.

nye_menu_generelt.asp, line 32
Avatar billede eagleeye Praktikant
22. august 2004 - 22:15 #7
Når du bruger recordset til at opdatere kolonnerne skal du bruge .Open metoden og ikke:
Set rs = Conn.Execute(SQL)

Så prøv at rette den linje til disse to:

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL, Conn,1, 2
Avatar billede thomas_b Nybegynder
22. august 2004 - 22:15 #8
Hvad gør forskellen ?
Avatar billede eagleeye Praktikant
22. august 2004 - 22:19 #9
Den første giver ikke et helt rigtigt recordset. Det er connection som udføre SQL og returnere recordsetet. Ved den anden er det recordset der henter med den angivne connection. Bruger man speciele recordset funktioner skal man bruge rs.Open.
Avatar billede thomas_b Nybegynder
22. august 2004 - 22:21 #10
okay... kommer du ikke lige med et svar så for den den...
Avatar billede eagleeye Praktikant
22. august 2004 - 22:22 #11
Ok, det gør jeg da :)
Avatar billede thomas_b Nybegynder
22. august 2004 - 22:26 #12
takker
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