21. april 2003 - 17:32Der er
29 kommentarer og 1 løsning
Update og SQL + variabler
Jeg vil gerne update et navn i min tabel1 som har en bestem id Min SQL ser sådan ud, men jeg får fejl. Nogen der har et bud
<% Set rs = Server.CreateObject("ADODB.Recordset") set rs=connect.execute("update tabel1 set navn ='" & Request.Querystring("navn") & "') Where id = '" & Request.Querystring("amt") & "'") %>
Den ser sådan ud <% Set rs = Server.CreateObject("ADODB.Recordset") set rs=connect.execute("update tabel1 set navn ='" & Request.Querystring("navn") & "') Where id = '" & Request.Querystring("id") & "'") %>
<% Set rs = Server.CreateObject("ADODB.Recordset") set rs=connect.execute("update tabel1 set navn ='" & Request.Querystring("navn") & "') Where id = " & Request.Querystring("id")) %>
<% Set rs = Server.CreateObject("ADODB.Recordset") set rs=connect.execute("SELECT * From tabel1 Order By navn ASC")
If rs.eof then %> <table align="center" bgcolor="white"> <tr> <td> Ingen poster fundet </td> </tr> </table> <% Else %> <Center>Navnene står i alfabetisk orden</center>
<% do until RS.EOF %> <table border="0" cellpadding="3" cellspacing="0" width="490" align="center" > <tr> <td > <%=rs("id")%> <!-- ************************************* --> <form action="admin2.asp?id=<%=rs("id")%>" method="post"> <input type="text" name="navn" value="<%=rs("navn")%>"><%=rs("by")%> <input type="submit" value="Gem"> </form> <!-- ************************************ --> </td></tr> </table> <% rs.movenext loop end if RS.Close Connect.Close Set RS = Nothing Set Connect = nothing %> </BODY> </HTML>
Her kommer admin2.asp:
<!--#include file="conn.asp"--> <HTML> <HEAD> <TITLE>Databasetest1</TITLE> </HEAD> <BODY bgcolor="white" > <% Dim navn, id navn = Request.form("navn") id =Request.Querystring("id") %> <!-- *********** Variablerne bliver godt flyttet med over************** --> <% connect.execute("update tabel1 set navn ='" & Request.form("navn") & "' Where id = '" & Request.Querystring("id") & "'")
RS.Close Connect.Close Set RS = Nothing Set Connect = nothing %>
Så skal du også lige fjerne ' i din update. Sådan at den ser sådan her ud: connect.execute("UPDATE tabel1 SET navn ='" & Request.form("navn") & "' WHERE id = " & Request.Querystring("id") & ";")
Nu du er igang kan du rette den til: connect.execute("UPDATE tabel1 SET navn ='" & navn & "' WHERE id = " & id & ";") da du jo henter de to variable lidt længere oppe i admin2.asp
<% Set RS = Server.CreateObject("ADODB.Recordset") set RS=connect.execute("SELECT * From tabel1 Order By navn ASC")
If RS.eof then %> <table align="center" bgcolor="white"> <tr> <td> Ingen poster fundet </td> </tr> </table> <% Else %> <Center>Navnene står i alfabetisk orden</center>
<% do until RS.EOF %> <table border="0" cellpadding="3" cellspacing="0" width="490" align="center" > <tr> <td > <%=RS("id")%> <!-- ************************************* --> <form action="admin2.asp?id=<%=rs("id")%>" method="post"> <input type="text" name="navn" value="<%=rs("navn")%>"><%=RS("by")%> <input type="submit" value="Gem"> </form> <!-- ************************************ --> </td></tr> </table> <% RS.movenext loop end if RS.Close Connect.Close Set RS = Nothing Set Connect = nothing %> </BODY> </HTML> *********************** ny side***************************** ADMIN2.asp: <!--#include file="conn.asp"--> <HTML> <HEAD> <TITLE>Databasetest1</TITLE> </HEAD> <BODY bgcolor="white" > <% Dim navn, id navn = Request.form("navn") id =Request.Querystring("id") %> <!-- *********** Variablerne bliver godt flyttet med over************** --> <% Set RS = Server.CreateObject("ADODB.Recordset") connect.execute("UPDATE tabel1 SET navn ='" & navn & "' WHERE [id] = " & id & ";")
RS.Close Connect.Close Set RS = Nothing Set Connect = nothing %>
Dim navn, id navn = Request.form("navn") id =Request.Querystring("id") %> <!-- *********** Variablerne bliver godt flyttet med over************** -->
<%
connect.execute("UPDATE tabel1 SET navn ='" & navn & "' WHERE [id] = " & id & ";")
Connect.Close Set Connect = nothing
response.redirect("admin1.asp") %>
Det hjalp da jeg fjernede alt hvad havde med RS at gøre. Kan det være rigtig? Får jeg nu lukket med database ordentlig ned på den måde? Du får pointene fordi du har været så stædig at hænge på Mange tak for hjælpen
<!--#include file="conn.asp"--> <HTML> <HEAD> <TITLE>Databasetest1</TITLE> </HEAD> <BODY bgcolor="white" > <% Dim navn, id navn = Request.form("navn") id =Request.Querystring("id")
connect.execute("UPDATE tabel1 SET navn ='" & navn & "' WHERE [id] = " & id & ";")
connect.Close Set connect = nothing %> </BODY> </HTML>
På admin1.asp lukker du din RS (recordset) og din connect, så de er lukket. På admin2.asp bruger du kun en databaseforbindelse og ingen recordset, så den er også lukket med den nuværende kode.
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.