Avatar billede easysoft_studios Nybegynder
02. juni 2002 - 22:12 Der er 7 kommentarer og
1 løsning

opdater felter

jeg prøver at hente nogle informationer fra en tabel der hedder news, som hedder titel, dato, artikel & forfatter, ind i tekstfelter. Dem vil jeg så gerne have opdateret, når brugen klikker på en knap.
P.t. bruger jeg denne kode, men der er noget der ikke dur:

<% if mode = "edit" then
               
                        Set rs = Server.CreateObject("ADODB.Recordset")
                        sql = "select * from news where titel = '" & Session("titel") & "'"
                        'rs.open sql, conn, 1, 3
                       
                            if Request.ServerVariables("REQUEST_METHOD") = "POST" then
                                   
                                    rs.update
                                    rs("titel") = Server.HTMLEncode(Request("newstitel"))
                                    rs("forfatter") = Server.HTMLEncode(Request("newsforfatter"))
                                    rs("artikel") = Server.HTMLEncode(Request("newsartikel"))

                                    rs.update   
                        end if %>
<!-- Form og tekstfelter -->
<%
rs.close
set rs = nothing
end if %>

der er noget galt med Session("titel"), hvad skal jeg gøre for at få det til at virke?
Avatar billede medions Nybegynder
02. juni 2002 - 22:17 #1
<% if mode = "edit" then
               
                        Set rs = Server.CreateObject("ADODB.Recordset")
                        sql = "select * from news where titel = '" & Session("titel") & "'"
                        'rs.open sql, conn, 1, 3
                       
                            if Request.ServerVariables("REQUEST_METHOD") = "POST" then
                                   

                                    rs("titel") = Server.HTMLEncode(Request("newstitel"))
                                    rs("forfatter") = Server.HTMLEncode(Request("newsforfatter"))
                                    rs("artikel") = Server.HTMLEncode(Request("newsartikel"))

                                    rs.update   
                        end if %>
<!-- Form og tekstfelter -->
<%
rs.close
set rs = nothing
end if %>

Du havde en update for meget!
//>Rune
Avatar billede medions Nybegynder
02. juni 2002 - 22:18 #2
<% if mode = "edit" then
                if Request.ServerVariables("REQUEST_METHOD") = "POST" then

                        Set rs = Server.CreateObject("ADODB.Recordset")
                        sql = "select * from news where titel = '" & Session("titel") & "'"
                        'rs.open sql, conn, 1, 3                             

                                    rs("titel") = Server.HTMLEncode(Request("newstitel"))
                                    rs("forfatter") = Server.HTMLEncode(Request("newsforfatter"))
                                    rs("artikel") = Server.HTMLEncode(Request("newsartikel"))

                                    rs.update   
                        end if %>
<!-- Form og tekstfelter -->
<%
rs.close
set rs = nothing
end if %>

Egentlig tror jeg dette er lidt mere rigtig...
//>Rune
Avatar billede easysoft_studios Nybegynder
02. juni 2002 - 22:37 #3
jeg mener slet ikke at Session("titel") er deklareret, det er der jeg får en fejl...
Avatar billede tmceu Praktikant
02. juni 2002 - 23:35 #4
En typisk fejl kunne være, at du et eller andet sted på dit site sætter en værdi i Session("titel"), men at sessionen ikke eksisterer eller er udløbet når du vil bruge variablen i ovenstående kode.

Du skal ifm. sessionsvariabler være omærksom på, at browseren skal have cookies enabled, da der sendes en sessionscookie i request/response. Uden cookies vil alle værdier du evt. sætter i sessionsvariabler gå tabt, da hver request opfattes som en ny session.

Er det ikke problemet, kan du prøve at forøge værdien af Session.TimeOut (default er 20 min).

Du kunne generelt også lave en If uden om hele ovenstående kode, If Not Session("titel") = "" Then....
Avatar billede easysoft_studios Nybegynder
03. juni 2002 - 00:57 #5
jeg kunne også bare bruge

Set rs = Conn.Execute("select * from news where newsid = " & Request.QueryString("id"))
Avatar billede easysoft_studios Nybegynder
21. juni 2002 - 03:51 #6
problemet går på at jeg skal hente fra en QueryString(), og så skal man bare lige fjerne ' i SQL-sætningen, ellers går det galt.
sorry, for den lille misforståelse.. :)
Avatar billede easysoft_studios Nybegynder
30. juni 2002 - 13:43 #7
Eller rettere... det handler om at det er en talværdi og ikke en string værdi... derfor, må der ikke være ' uden om :)
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