24. november 2003 - 16:44
Der er
43 kommentarer og 1 løsning
Opdatere ét felt i Access db
Jeg har denne kode : <%@LANGUAGE="VBScript"%> <!--#include file="connect.asp"--> <% SQL = "UPDATE billeder Set tekst = '" & request.form("tekst") & "' " Myconn.Execute(SQL) Response.Redirect("adminimg.asp") %> Til at opdatere "tekst" i min [billeder] tabel, men når jeg skriver noget nyt forsvinder tekst for alle billeder og ikke kun det ene jeg har valgt. --- jeg vælger hvilken post jeg vil ændre med : <A href="retimg.asp?id=<%=data("id")%>"><img src="ret.gif"></A> Hvorfor ændres alle posterne og ikke kun det ene ???
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
24. november 2003 - 16:48
#1
SQL = "UPDATE billeder Set tekst = '" & request.form("tekst") & "' WHERE id = " & request.querystring("id")
24. november 2003 - 16:51
#2
Hvad skal jeg så skrive for at få ID med som querystring ? Den følger ikke med ...
24. november 2003 - 16:51
#3
Som din SQL-streng er lige nu, får du ikke specificeret hvilken post der skal rettes i.
24. november 2003 - 16:52
#4
Nej... jeg kan godt se det du mener, men jeg skal stadig have ID defineret til min "retimg.asp" som jeg har rettet...
24. november 2003 - 16:52
#5
Det skulle den gerne være allerede - ser da sådan ud på dit link...
24. november 2003 - 16:53
#6
<A href="retimg.asp?id=<%=data("id")%>"><img src="ret.gif"></A> linker til en retside med tekstbokse hvor jeg får præsenteret indholdet af [tekst]... det virker, men når jeg ændrer det og trykker opdater sender den videre til: SQL = "UPDATE billeder Set tekst = '" & request.form("tekst") & "' WHERE id = " & request.querystring("id") men der er ID ikke gældende mere... mener jeg... der sker i hvert fald ikke noget.
24. november 2003 - 16:54
#7
Okay never mind.. det står der allerede...
24. november 2003 - 16:57
#8
OK, der hvor du sender videre skal du så også inkludere id'en i URL som du gjorde det før. Hvis det er en form du submitter skal du i form-tagget indsætte action="adresse.asp?id<%=request.querystring("id")%>" eller action='adresse.asp?id=" & request.querystring("id") & "'
24. november 2003 - 16:57
#9
Hehe - er åbenbart ikke god nok til at opdatere før jeg udfører ;)
24. november 2003 - 17:20
#10
Det har jeg... <FORM ACTION="updateimg.asp?id=<%=Request.Querystring("id")%>" METHOD="POST">
24. november 2003 - 17:22
#11
Okay... Liste over poster: <% While NOT data.EOF %> <TR> <TD WIDTH="10%"><FONT SIZE="2" FACE="System"><% = data.Fields ("nr")%></FONT></TD> <TD WIDTH="25%"><FONT SIZE="2" FACE="System"><% = data.Fields ("tekst")%></FONT></TD> <TD WIDTH="55%"><FONT SIZE="2" FACE="System"> <A href="retimg.asp?id=<%=data("id")%>"><img src="ret.gif"></A></FONT></TD> </TR> </TD> </TR> <% data.MoveNext Wend %> --------VIRKER! --------------- Side hvor man retter [tekst] <FORM ACTION="updateimg.asp?id=<%=Request.Querystring("id")%>" METHOD="POST"> <TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" WIDTH="54%"> <TR> <TD WIDTH="34%" BGCOLOR="#99CCFF" style="border-top;bottom:solid black 1px;"> <FONT SIZE="2" FACE="Arial"><I>Placering</I></FONT></TD> <TD WIDTH="66%" BGCOLOR="#99CCFF"><% = data.Fields ("nr")%></TD> </TR> <TR> <TD WIDTH="34%" BGCOLOR="#FFCC99"><FONT SIZE="2" FACE="Arial"><I>Tekst</I></FONT></TD> <TD WIDTH="66%" BGCOLOR="#FFCC99"><INPUT TYPE="TEXT" VALUE="<% = data.Fields ("tekst")%>" NAME="navn" SIZE="25"></TD> </TR> ------------ ------------ Update.asp <%@LANGUAGE="VBScript"%> <!--#include file="connect.asp"--> <% SQL = "UPDATE billeder Set tekst = '" & request.form("tekst") & "' WHERE id = " & request.querystring("id") Myconn.Execute(SQL) Response.Redirect("adminimg.asp") %> ------------ ------------
24. november 2003 - 17:37
#12
Okay... har rettet lidt... nu får jeg følgende... Microsoft JET Database Engine error '80040e14' Syntax error in string in query expression 'id = "'. /updateimg.asp, line 7 ------------------------- Linie 7 : Myconn.Execute(SQL)
24. november 2003 - 17:56
#13
Jeg har prøvet ALT muligt, men jeg får stadig samme fejl... Hvad kan der være galt ??? Please help... er lidt presset *GG*
24. november 2003 - 18:16
#14
Og id er af datatypen tal, ikke?
24. november 2003 - 18:18
#15
id er autonum, så jo... tal ----------- Her er en update fil jeg bruger til noget anden på sitet som virker... hvordan laver jeg det om til at den kun opdaterer feltet tekst i tabellen billeder ??? Hvis det hjælper... <%@LANGUAGE="VBScript"%> <!--#include file="connect.asp"--> <% SQL = "UPDATE cms SET [title] = '" & request.form("title") & "', " SQL = SQL & "[contxt] = '" & request.form("contxt") & "' " SQL = SQL & "WHERE id = " & Request.QueryString("id") Myconn.Execute(SQL) Response.Redirect("admincms.asp") %>
24. november 2003 - 18:35
#16
SQL = "UPDATE billeder SET [tekst] = '" & request.form("tekst") & "' " SQL = SQL & "WHERE id = " & Request.QueryString("id") Myconn.Execute(SQL)
24. november 2003 - 18:35
#17
Nej... Microsoft JET Database Engine error '80040e14' Syntax error in string in query expression 'id = "'. /updateimg.asp, line 8
24. november 2003 - 18:36
#18
Det giver jo lidt det samme...
24. november 2003 - 18:38
#19
Side 1 <A href="retimg.asp?id=<%=data("id")%>"><img src="ret.gif"></A> Side 2 (retimg.asp) <% Set data = Server.CreateObject ("ADODB.Recordset") data.Open "SELECT * From billeder Where id ="& Request.QueryString("id") &"", MyConn %> 'kode 'kode <FORM action='updateimg.asp?id=" & request.querystring("id") & "' METHOD="POST"> Side 3 (updateimg.asp) <%@LANGUAGE="VBScript"%> <!--#include file="connect.asp"--> <% SQL = "UPDATE billeder SET [tekst] = '" & request.form("tekst") & "' " SQL = SQL & "WHERE id = " & Request.QueryString("id") Myconn.Execute(SQL) Response.Redirect("admincms.asp") %> Det er alt den referance jeg har på mine sider... jeg kan sQ ikke finde fejlen...
24. november 2003 - 18:43
#20
OK, så må vi prøve en anden tilgang. Prøv at opdatere sådan her Set data = Server.CreateObject ("ADODB.Recordset") data.Open "SELECT * From billeder Where id ="& Request.QueryString("id") &"", MyConn, 2, 2 data("tekst") = request.form("tekst") data.update data.close set data = Nothing
24. november 2003 - 18:44
#21
Ehh... hvilken fil ?
24. november 2003 - 18:46
#22
Hov... never mind.. sidder og sover *GG*
24. november 2003 - 18:47
#23
updateimg.asp Du kan sådan set også bare lade være med at gå videre til en ny fil (efter submit) og så i retimg.asp tilføje (efter du har åbnet data) If request.ServerVariables("REQUEST_METHOD") = "POST" then data("tekst") = request.form("tekst") data.update end if
24. november 2003 - 18:48
#24
Hvad skriver jeg så i ACTION=" ??
24. november 2003 - 18:51
#25
action='retimg.asp?id=" & request.querystring("id") & "' Så er du sikker på at querystringen kommer med igen
24. november 2003 - 18:54
#26
Okay... retimg.asp ser sådan ud nu... <!--#include file="connect.asp"--> <% Set data = Server.CreateObject ("ADODB.Recordset") data.Open "SELECT * From billeder Where id ="& Request.QueryString("id") &"", MyConn %> <HTML> <HEAD> <style type="text/css"> body { background-color: #FFFFFF; background-image: url("bg_img.gif"); background-repeat: no-repeat; background-attachment: fixed; } </STYLE> </HEAD> <BODY> <P> <TABLE BORDER="0" CELLPADDING="2" CELLSPACING="1" WIDTH="100%"> <TR> <TD WIDTH="62%" BGCOLOR="#D1CAA9" style="border:solid black 1px;"> <P ALIGN="RIGHT"><FONT FACE="Arial"><B>Billede administrator <BR> </B></FONT> </TD> <TD WIDTH="38%"> </TD> </TR> <TR> <TD WIDTH="62%" style="border:solid black 1px;"><FONT SIZE="2" FACE="Arial"> <FORM action='retimg.asp?id=" & request.querystring("id") & "' METHOD="POST"> <TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" WIDTH="54%"> <TR> <TD WIDTH="34%" BGCOLOR="#99CCFF" style="border-top;bottom:solid black 1px;"> <FONT SIZE="2" FACE="Arial"><I>Placering</I></FONT></TD> <TD WIDTH="66%" BGCOLOR="#99CCFF"><% = data.Fields ("nr")%></TD> </TR> <TR> <TD WIDTH="34%" BGCOLOR="#FFCC99"><FONT SIZE="2" FACE="Arial"><I>Tekst</I></FONT></TD> <TD WIDTH="66%" BGCOLOR="#FFCC99"><INPUT TYPE="TEXT" VALUE="<% = data.Fields ("tekst")%>" NAME="tekst" SIZE="25"></TD> </TR> <TR> <TD WIDTH="34%"><I> </I></TD> <TD WIDTH="66%"><INPUT TYPE="SUBMIT" NAME="Submit" VALUE="Opdatér"></TD> </TR> </TABLE></TD> <TD WIDTH="38%"> </TD> </TR> </TABLE> <% If request.ServerVariables("REQUEST_METHOD") = "POST" then data("tekst") = request.form("tekst") data.update end if %> </BODY> </HTML> Fejl : Microsoft JET Database Engine error '80040e14' Syntax error in string in query expression 'id ="'. /retimg.asp, line 13
24. november 2003 - 19:01
#27
data.Open "SELECT * From billeder Where id =" & Request.QueryString("id"), MyConn, 2, 2
24. november 2003 - 19:02
#28
Microsoft JET Database Engine error '80040e14' Syntax error in string in query expression 'id ="'. /retimg.asp, line 13
24. november 2003 - 19:03
#29
Jeg har også en nr post, men den skal ikke kunne ændres, så den har vel ikke noget med det at gøre.. ?
24. november 2003 - 19:03
#30
Det var da ligegodt mystisk... Og du har prøvet at udskrive request.querystring("id"), ikke? Så det er ikke fordi den er tom eller noget, vel?
24. november 2003 - 19:05
#31
Er din nr post unik? For så kan du ligesågodt sortere på den som på id.
24. november 2003 - 19:06
#32
Ja, det er den ... men alphanum... ex. prof1, prof2, prof3, tilb1, tilb2 osv... men unik
24. november 2003 - 19:09
#33
Det gør ikke spor - den kan du godt bruge. Men jeg kan stadig ikke forstå at det andet giver problemer - det er meget mystiskt... Jeg er desværre nødt til at smutte nu, men jeg håber meget, du finder fejlen. Post endelig, når du ved, hvad det er.
24. november 2003 - 19:09
#34
Oki... tak for hjælpen... jeg kæmper videre ...
24. november 2003 - 19:13
#35
F*** this sh** Jeg booster lige til 200 pts. PLEASE HELP... come on gutter... :-)
24. november 2003 - 21:45
#36
Så er jeg tilbage - har fundet fejlen.
24. november 2003 - 21:50
#37
Du udskriver formen i html ikke asp, derfor skal du udskifte <FORM action='retimg.asp?id=" & request.querystring("id") & "' METHOD="POST"> med <FORM action='retimg.asp?id=<%=request.querystring("id")%>' METHOD="POST"> Hvis du havde forsøgt at udskrive request.querystring("id"), ville du også have set, at den var tom - netop fordi den ikke bliver sendt med anden gang.
24. november 2003 - 21:53
#38
Jeg har testet lidt her, og følgende virker: <!--#include file="connect.asp"--> <% Set data = Server.CreateObject ("ADODB.Recordset") data.Open "SELECT * From billeder Where id ="& Request.QueryString("id") &"", MyConn, 2, 2 %> <HTML> <HEAD> <style type="text/css"> body { background-color: #FFFFFF; background-image: url("bg_img.gif"); background-repeat: no-repeat; background-attachment: fixed; } </STYLE> </HEAD> <BODY> <P> <TABLE BORDER="0" CELLPADDING="2" CELLSPACING="1" WIDTH="100%"> <TR> <TD WIDTH="62%" BGCOLOR="#D1CAA9" style="border:solid black 1px;"> <P ALIGN="RIGHT"><FONT FACE="Arial"><B>Billede administrator <BR> </B></FONT> </TD> <TD WIDTH="38%"> </TD> </TR> <TR> <TD WIDTH="62%" style="border:solid black 1px;"><FONT SIZE="2" FACE="Arial"> <FORM action='zipper.asp?id=<%=request.querystring("id")%>' METHOD="POST"> <TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" WIDTH="54%"> <TR> <TD WIDTH="34%" BGCOLOR="#99CCFF" style="border-top;bottom:solid black 1px;"> <FONT SIZE="2" FACE="Arial"><I>Placering</I></FONT></TD> <TD WIDTH="66%" BGCOLOR="#99CCFF"><%= data.Fields ("nr")%></TD> </TR> <TR> <TD WIDTH="34%" BGCOLOR="#FFCC99"><FONT SIZE="2" FACE="Arial"><I>Tekst</I></FONT></TD> <TD WIDTH="66%" BGCOLOR="#FFCC99"><INPUT TYPE="TEXT" VALUE="<% = data.Fields ("tekst")%>" NAME="tekst" SIZE="25"></TD> </TR> <TR> <TD WIDTH="34%"><I> </I></TD> <TD WIDTH="66%"><INPUT TYPE="SUBMIT" NAME="Submit" VALUE="Opdatér"></TD> </TR> </TABLE></TD> <TD WIDTH="38%"> </TD> </TR> </TABLE> <% If request.ServerVariables("REQUEST_METHOD") = "POST" then data("tekst") = request.form("tekst") data.update data.close set data = Nothing Response.Redirect("admincms.asp") end if data.close set data = Nothing %> </BODY> </HTML>
25. november 2003 - 08:17
#39
<FORM action='zipper.asp?id=<%=request.querystring("id")%>' METHOD="POST"> zipper.asp ??? Jeg får bare en "Siden er ikek fundet"...
25. november 2003 - 10:26
#40
hehe - det er fordi jeg testede lidt her ;) Det skal selvfølgelig skiftes ud med <FORM action='retimg.asp?id=<%=request.querystring("id")%>' METHOD="POST"> som jeg skrev i min 24/11-2003 21:50:04
25. november 2003 - 11:18
#41
Altså... du be'r mig om at indsætte <FORM action='retimg.asp?id=<%=request.querystring("id")%>' METHOD="POST"> i retimg.asp ??? Jeg kan ikke se logikken men prøver lige om lidt... :-)
25. november 2003 - 11:24
#42
Logikken er at jeg har flyttet det stykke kode, der opdaterer, ind i retimg.asp og at du derfor ikke skal sendes videre. Det er det der står forneden i If request.ServerVariables("REQUEST_METHOD") = "POST" then ... end if
25. november 2003 - 16:27
#43
Åh frelser... dit navn være deeflate *GG* Takker... smid lige et svar
25. november 2003 - 16:34
#44
Svar :D
Kurser inden for grundlæggende programmering