Avatar billede miwu.tk Nybegynder
23. oktober 2003 - 23:37 Der er 34 kommentarer og
1 løsning

Opdatering af celler + posting af '-tegnet

Jeg har en følgende fil, som skal opdaterer data i min DB. Det ser således ud:

<%
    if session.contents("login") <> 1 then
        response.redirect "../admin.asp?login=nej"
    end if

    Dim IP
    IP = Request.Servervariables("REMOTE_ADDR")

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

    strSQL = "Select  * from indhold where id = " & Request.Querystring("id")
    Set rs = Conn.Execute(strSQL)


        strSQL = "Update indhold set"
        strSQL = strSQL & "tekst= '" & Request.Form("1") & "', "
        strSQL = strSQL & "tid= '" & Response.Write(now()) & "'"
        strSQL = strSQL & "ip= '" & (IP) & "'"
        strSQL = strSQL & " Where id = '" & Response.Write("id")
       
        conn.execute(strSQL)

        Conn.Close
        Set Conn = Nothing
        response.redirect "oversigt.asp"
%>

Nogle der kan se problemet? Ellers om kan komme med et alternativ?

- Endnu et spørgsmål!! Hvad skal jeg gøre hvis jeg gerne vil skrive '-tegn når jeg poster? Jeg ønsker ikke at få en replace metode hvor jeg skal skrive 2 x ' for et der skal stå ét '
Avatar billede medions Nybegynder
23. oktober 2003 - 23:40 #1
Replace(Request.Form("feltnavn"), "'", "''")

//>Rune
Avatar billede medions Nybegynder
23. oktober 2003 - 23:40 #2
Fx.

      strSQL = "Update indhold set"
        strSQL = strSQL & "tekst= '" & Replace(Request.Form("1"), "'", "''") & "', "
        strSQL = strSQL & "tid= '" & Response.Write(now()) & "'"
        strSQL = strSQL & "ip= '" & (IP) & "'"
        strSQL = strSQL & " Where id = '" & Response.Write("id")
       
        conn.execute(strSQL)

//>Rune
Avatar billede The Real Yoda Juniormester
24. oktober 2003 - 00:21 #3
strSQL = strSQL & "tekst= '" & Request.Form("1") & "', "

skal være:

strSQL = strSQL & "tekst= '" & Replace(Request.Form("1"),"'","&#39;") & "', "

for så vil ' tegnet også optræde korrekt, når man skriver dataene ud...
Avatar billede medions Nybegynder
24. oktober 2003 - 00:25 #4
therealyoda> Øhh, det vil det oxo ellers!

//>Rune
Avatar billede The Real Yoda Juniormester
24. oktober 2003 - 01:00 #5
for mig at se erstatter du et ' med to '

mig bekendt vil det så ikke blive vist ?
Avatar billede medions Nybegynder
24. oktober 2003 - 01:01 #6
Tror vidst lige du skla prøve det af, Access konvetere selv om!

//>Rune
Avatar billede The Real Yoda Juniormester
24. oktober 2003 - 01:02 #7
hmm havde ikke lige set det var access.. er selv vandt til mysql .. men nok om det..
Avatar billede miwu.tk Nybegynder
24. oktober 2003 - 13:37 #8
Det lyder altsammen vældig fint, men jeg tror der er en fejl i min kode, da den viser fejl. I får lige sourcecode på mine 2 filer.

fil1.asp :

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

    strSQL = "Select  * from indhold where id = " & Request.Querystring("id")
    Set rs = Conn.Execute(strSQL)
   
    Response.Write "<form method=post action='fil2.asp?id=" & rs("id") & "'>"
    Response.Write "" & rs("ip") & "<br><br>"
    Response.write "<br> <textarea name='1' cols='60'     rows='10'>""" & rs("text") & """</textarea><br>"
    Response.write "<input type=submit size='19' value=opdater></form>"
   
    Conn.Close
    Set Conn = Nothing
%>

fil2.asp :

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

    strSQL = "Select  * from indhold where id = " & Request.Querystring("id")
    Set rs = Conn.Execute(strSQL)


        strSQL = "Update indhold set"
        strSQL = strSQL & "tekst= '" & Replace(Request.Form("1"), "'", "''") & "', "
        strSQL = strSQL & "tid= '" & Response.Write(now()) & "'"
        strSQL = strSQL & "ip= '" & (IP) & "'"
        strSQL = strSQL & " Where id = '" & Response.Write("id")
       
        conn.execute(strSQL)

       
        conn.execute(strSQL)

        Conn.Close
        Set Conn = Nothing
        response.redirect "oversigt.asp"


Umiddelbart kan jeg ikke se hvad der er galt.
Avatar billede The Real Yoda Juniormester
24. oktober 2003 - 13:40 #9
hvilken fejl viser den ?
Avatar billede The Real Yoda Juniormester
24. oktober 2003 - 13:41 #10
evt link til send
Avatar billede miwu.tk Nybegynder
24. oktober 2003 - 13:49 #11
Avatar billede The Real Yoda Juniormester
24. oktober 2003 - 13:51 #12
strSQL = strSQL & " Where id = '" & Response.Write("id")

skal rettes til :

strSQL = strSQL & " Where id = '" & id
Avatar billede miwu.tk Nybegynder
24. oktober 2003 - 13:53 #13
har lige rettet med lader ikke til at virke
Avatar billede The Real Yoda Juniormester
24. oktober 2003 - 14:05 #14
prøv at skriv en response.write(strSQL) før conn.execute(strSQL)
Avatar billede miwu.tk Nybegynder
24. oktober 2003 - 14:06 #15
Hvad mener du? (jeg er har ikke programmeret i over et halvt år.. så jeg er ikke helt frisk endnu ;) )
Avatar billede The Real Yoda Juniormester
24. oktober 2003 - 14:07 #16
strSQL = strSQL & " Where id = '" & Response.Write("id")
  response.write (strSQL)   
        conn.execute(strSQL)
Avatar billede miwu.tk Nybegynder
24. oktober 2003 - 14:09 #17
virker stadig ikke. Nogen der har et helt andet alternativ for mig? Altså en anden måde at gøre det på? Lader vist til at min måde er ret så skod :/
Avatar billede The Real Yoda Juniormester
25. oktober 2003 - 01:50 #18
Det der var planen med response.write var at se dit sql kald..

Update indhold settekst= '""', tid= ''ip= '80.160.191.62' Where id = '

og der er jo bestemt noget galt..

ret din kode til :

strSQL = "Update indhold set"
        strSQL = strSQL & " tekst= '" & Replace(Request.Form("1"), "'", "&#39;") & "', "
        strSQL = strSQL & " tid= '" & now() & "', "
        strSQL = strSQL & " ip= '" & IP & "', "
        strSQL = strSQL & " Where id = '" & id

så skulle det meget gerne virke..
Avatar billede miwu.tk Nybegynder
25. oktober 2003 - 15:39 #19
skidtet virker stadig ikke - tjek evt. link
Avatar billede miwu.tk Nybegynder
25. oktober 2003 - 18:28 #20
ok, her får I lige hvordan fil2.asp ser ud. Måske er det noget lort jeg selv har lavet?

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

    strSQL = "Select  * from indhold where id = " & Request.Querystring("id")
    Set rs = Conn.Execute(strSQL)


        strSQL = "Update indhold set"
        strSQL = strSQL & " tekst= '" & Replace(Request.Form("1"), "'", "&#39;") & "', "
        strSQL = strSQL & " tid= '" & now() & "', "
        strSQL = strSQL & " ip= '" & IP & "', "
        strSQL = strSQL & " Where id = '" & id
       
        conn.execute(strSQL)

        Conn.Close
        Set Conn = Nothing
        response.redirect "oversigt.asp"
Avatar billede The Real Yoda Juniormester
26. oktober 2003 - 13:56 #21
strSQL = strSQL & " Where id = '" & id

du mangler lige at trykke enter efter denne linje.. den tror denne og næste linje er den samme linje.. det skal detjo ik være
Avatar billede miwu.tk Nybegynder
26. oktober 2003 - 14:25 #22
dvs der bare skal stå:

ok, her får I lige hvordan fil2.asp ser ud. Måske er det noget lort jeg selv har lavet?

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

    strSQL = "Select  * from indhold where id = " & Request.Querystring("id")
    Set rs = Conn.Execute(strSQL)


        strSQL = "Update indhold set"
        strSQL = strSQL & " tekst= '" & Replace(Request.Form("1"), "'", "&#39;") & "', "
        strSQL = strSQL & " tid= '" & now() & "', "
        strSQL = strSQL & " ip= '" & IP & "', "
        strSQL = strSQL & " Where id = '" & id
       

        conn.execute(strSQL)

        Conn.Close
        Set Conn = Nothing
        response.redirect "oversigt.asp"


?? For det virker nemlig stadig ikke.. fuck hvor er det her asp pis forvirrende
Avatar billede miwu.tk Nybegynder
26. oktober 2003 - 20:44 #23
Har også lige tjekket jeres svar angående '-tegnet. Det virker skam heller ikke :/
Avatar billede miwu.tk Nybegynder
26. oktober 2003 - 20:52 #24
hov, det virker sq alligevel, sry
Avatar billede miwu.tk Nybegynder
27. oktober 2003 - 20:31 #25
Jeg har lige ændret lidt på fil2.asp. Ændringen er at fil1.asp har fået sig en tekstboks med id nr i. fil2.asp kommer så til at hente den, men det virker stadig ikke. Den siger der er problemer med "conn.execute(strSQL)"

således ser den ud(fil2.asp):

    if session.contents("login") <> 1 then
        response.redirect "../admin.asp?login=nej"
    end if

    Dim IP
    IP = Request.Servervariables("REMOTE_ADDR")

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


        strSQL = "Update indhold set "
        strSQL = strSQL & "navn= '" & Replace(Request.Form("navn"), "'", "''") & "', "
        strSQL = strSQL & "text= '" & Replace(Request.Form("tekst"), "'", "''") & "', "
        strSQL = strSQL & "ip= '" & (IP) & "'"
        strSQL = strSQL & " Where id = " & Request.Form("postid")
   
    conn.execute(strSQL)

    Conn.Close
    Set Conn = Nothing
    response.redirect "oversigt.asp"
Avatar billede miwu.tk Nybegynder
27. oktober 2003 - 20:31 #26
hov.. jeg har selvføleglig lavet den ændren som "therealyoda" forslog med enter før conn.execute osv.
Avatar billede The Real Yoda Juniormester
27. oktober 2003 - 23:02 #27
du har dog stadig ikke accepteret mit svar.
Avatar billede miwu.tk Nybegynder
27. oktober 2003 - 23:05 #28
tjaeh.. mit lort virker dog stadig ikke, men jeg opgir sq.
Avatar billede The Real Yoda Juniormester
27. oktober 2003 - 23:07 #29
hjælper gerne.. du har da lige haft det til at virke ?
Avatar billede miwu.tk Nybegynder
27. oktober 2003 - 23:08 #30
nej.. jeg fik kun delen med at tilføje '-tegnet til at virke. Den gider dog stadig ikke opdaterer efter jeg har gjort som du har sagt. I øjeblikket ser min sourcecode således ud ^ ^
Avatar billede The Real Yoda Juniormester
27. oktober 2003 - 23:17 #31
er du sikker på at:  strSQL = strSQL & " Where id = " & Request.Form("postid")
ikke skal være :  strSQL = strSQL & " Where id = " & Request.querystring("id")
Avatar billede The Real Yoda Juniormester
27. oktober 2003 - 23:18 #32
ellers skriv lige til mig på icq:17571515 eller msn: therealyoda666@hotmail.com
Avatar billede miwu.tk Nybegynder
27. oktober 2003 - 23:19 #33
nej, fordi jeg har gjort det så smart at den i fil1.asp tager id'et som er printet ud på et felt.. den hedder så postid. Men det var åbenbart ikke så smart som regnet, da skidtet rent faktisk viste sig ikke at virke alligevel
Avatar billede The Real Yoda Juniormester
27. oktober 2003 - 23:21 #34
du har glemt at lave feltet på din edit.asp

eller også har du glemt at uploade filen..

men lad os tage den over msn eller icq..
Avatar billede miwu.tk Nybegynder
27. oktober 2003 - 23:22 #35
hmm... ja, skal vist lige uploade nye filer.. det sker nu
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