Avatar billede jpv Nybegynder
21. april 2003 - 17:32 Der 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") & "'")
%>
Avatar billede jpv Nybegynder
21. april 2003 - 17:33 #1
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") & "'")
%>
Avatar billede mm12010 Nybegynder
21. april 2003 - 17:40 #2
<%
Set rs = Server.CreateObject("ADODB.Recordset")
set rs=connect.execute("update tabel1 set navn ='" & Request.Querystring("navn") & "') Where id = " & Request.Querystring("id"))
%>
Avatar billede mm12010 Nybegynder
21. april 2003 - 17:40 #3
hvilken fejl-meddelelse får du?
Avatar billede jpv Nybegynder
21. april 2003 - 18:01 #4
Jeg har prøvet med din koder og får:
HTTP 500 - Intern serverfejl
Internet Explorer

Det var det samme som før :-(
Avatar billede fet321 Nybegynder
21. april 2003 - 18:04 #5
<%
connect.execute("update tabel1 set navn ='" & Request.Querystring("navn") & "') Where id = '" & Request.Querystring("id") & "'")
%>
Avatar billede fet321 Nybegynder
21. april 2003 - 18:07 #6
Sådan her
<%
connect.execute("update tabel1 set navn ='" & Request.Querystring("navn") & "' Where id = '" & Request.Querystring("id") & "'")
%>
Avatar billede fet321 Nybegynder
21. april 2003 - 18:07 #7
Du havde en ) for metget.
Avatar billede fet321 Nybegynder
21. april 2003 - 18:08 #8
metget = meget
Avatar billede jpv Nybegynder
21. april 2003 - 18:30 #9
Får stadigvæk den samme fejl meddelse
Avatar billede jpv Nybegynder
21. april 2003 - 18:33 #10
Her er koderne i helhed. Jeg har rettet lidt i det i forhold til første spørgsmål, Da navn skal komme fra en form:

Admin1.asp:
<TITLE>databasetest1</TITLE>
</HEAD>
<BODY bgcolor="white"  >

<%
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
%>


</BODY>
</HTML>
Avatar billede fet321 Nybegynder
21. april 2003 - 18:37 #11
Er dit id-felt numerisk?
Avatar billede fet321 Nybegynder
21. april 2003 - 18:39 #12
Du bruger både RS og rs.
Brug det samme hele vejen igennem.
Avatar billede jpv Nybegynder
21. april 2003 - 18:41 #13
id er med autonumering
Jeg prøver at rette RS
Avatar billede fet321 Nybegynder
21. april 2003 - 18:43 #14
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") & ";")
Avatar billede jpv Nybegynder
21. april 2003 - 18:46 #15
RS flytter ikke noget. stadigvæk det samme
Avatar billede fet321 Nybegynder
21. april 2003 - 18:49 #16
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
Avatar billede jpv Nybegynder
21. april 2003 - 18:54 #17
Stadigvæk denne samme fejlmeddelse :-(
Avatar billede fet321 Nybegynder
21. april 2003 - 18:55 #18
Prøv denne:
connect.execute("UPDATE tabel1 SET navn ='" & navn & "' WHERE [id] = " & id & ";")
Avatar billede jpv Nybegynder
21. april 2003 - 19:13 #19
Nu opdater den databasen. men kommer alligevel frem med en fejlmeddelse. (samme som før)
Avatar billede fet321 Nybegynder
21. april 2003 - 19:14 #20
Smid lige koden som den ser ud nu.
Avatar billede jpv Nybegynder
21. april 2003 - 19:29 #21
ADMIN1.asp:
<TITLE>databasetest1</TITLE>
</HEAD>
<BODY bgcolor="white"  >

<%
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
%>


</BODY>
</HTML>
Avatar billede fet321 Nybegynder
21. april 2003 - 22:26 #22
Har du også <!--#include file="conn.asp"--> i starten af admin1.asp
Avatar billede fet321 Nybegynder
21. april 2003 - 22:27 #23
Du bruger både "Connect" og "connect"
Du skal ligesom med RS bruge det samme hele vejen igennem.

/fet321
Avatar billede jpv Nybegynder
21. april 2003 - 22:29 #24
Nu ser min admin2.asp så dan ud

<%

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
Avatar billede fet321 Nybegynder
21. april 2003 - 22:29 #25
Ret admin2.asp til dette:

<!--#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>
Avatar billede jpv Nybegynder
21. april 2003 - 22:30 #26
Hvorfor skal id i []
Avatar billede fet321 Nybegynder
21. april 2003 - 22:31 #27
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.
Avatar billede fet321 Nybegynder
21. april 2003 - 22:32 #28
id skal i klammer fordi det er et reserveret ord. Dvs. databasen bruger det internt.
Avatar billede jpv Nybegynder
21. april 2003 - 22:32 #29
Det er et godt svar:-)
Avatar billede fet321 Nybegynder
21. april 2003 - 22:34 #30
Glæder mig :)
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