Frågan 1 aug. 2002 16:14 #1 Hm, jag har följande input på sida a:
<INPUT TYPE="HIDDEN" VALUE="<%Request.QueryString("orderID")%>" NAME="orderID">
Och sedan sidan som tar emot:
<% Response.Buffer = TRUE %>
<html>
<!-- #include file="adovbs.inc" -->
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\trexter\dfd\a.mdb;pwd=qqq"
If Request.Form("orderID") <> "" Then
Modify = "UPDATE orders SET Notes = '" & Request.Form("Notes") &"' WHERE orderID = " & Request.Form("orderID")
End If
Response.Redirect "3x.asp?Way=search"
Connect.Close
Set Connect = Nothing
%>
</HTML>
Databsen uppdateras alltså inte, how come?
Ekström Medlem sedan feb. 2002 2 594 inlägg Du executar aldrig SQL-satsen :)
Connect.Execute(Modify)
Nej, det hjälpte inte Jag slängde in raden kod efter SQL-satsen...
Fungerade inte fter din nya modifiering heller.
Själv tror jag det är något "fel" med:
If Request.Form("orderID") <> "" Then
Ekström Medlem sedan feb. 2002 2 594 inlägg Testa:
If NOT len(Request.Form("orderID")) = 0 Then
Ekström Medlem sedan feb. 2002 2 594 inlägg Då måste det vara nåt fel på sidan där formuläret ligger. Posta kod
S solbulle Medlem sedan mars 2001 5 287 inlägg En ide kan även vara att flytta ner din redirect till efter att du stängt din koppling.
Ekström Medlem sedan feb. 2002 2 594 inlägg Det kan väl ändå inte ha något med problemet att göra, solbulle?
Formulärssidan:
<% Response.Buffer = TRUE %>
<html>
<!-- #include file="adovbs.inc" -->
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\trexter\a\h.mdb;pwd=ghj"
If Request.QueryString("Modify") = "notes" Then
Set RecSet = Server.CreateObject("ADODB.Recordset")
Find = "SELECT Notes FROM orders WHERE orderID = " & Request.QueryString("orderID") & " "
RecSet.Open Find, Connect, adOpenStatic, adLockOptimistic
End If
Do Until RecSet.EOF
%>
<form ACTION="modifydb.asp" method="post" name=notes>
<TEXTAREA name=Notes cols=40 rows=10>
<%=RecSet("Notes")%>
</TEXTAREA>
<INPUT TYPE="HIDDEN" VALUE="<%Request.QueryString("orderID")%>" NAME="orderID">
<br>
<INPUT TYPE="submit" VALUE="Spara">
</form>
<a href="3x.asp">Gå tillbaka till söksidan.</a>
<%
RecSet.MoveNext
Loop
RecSet.Close
Connect.Close
%>
</HTML>
S solbulle Medlem sedan mars 2001 5 287 inlägg
Det kan väl ändå inte ha något med problemet att göra, solbulle?
Nej, det har det verkligen inte, men jag tycker det är lika bra att han stänger sin connection innan han lämnar sidan annnars behöver ju raderna inte vara där alls.
En smula OT dock.
S solbulle Medlem sedan mars 2001 5 287 inlägg trexter.com : När du testar detta, kör du detta precis så som det kommer att köras när det är skarpt?
I ditt formulär har du ett hiddenfält där du tar ner en querystring, har du verkligen med dig det värdet när du testar?
Solbulle: Japp, den skickas med på föregående sida:
<a href="showdb.asp?Modify=notes&orderID=<%=RecSet("orderID")%>">
S solbulle Medlem sedan mars 2001 5 287 inlägg Hm... hur ser koden ut nu i modifydb.asp?
<% Response.Buffer = TRUE %>
<html>
<!-- #include file="adovbs.inc" -->
<%
If Request.Form("orderID") <> "" Then
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\trsder\asd\asdasd.mdb;pwd=qqq"
Modify = "UPDATE orders SET Notes = '" & Request.Form("Notes") &"' WHERE orderID = " & Request.Form("orderID")
Connect.Execute(Modify)
Connect.Close
Set Connect = Nothing
End If
Response.Redirect "3x.asp?Way=search"
%>
</HTML>
S solbulle Medlem sedan mars 2001 5 287 inlägg Vad får du ut om du skriver ut orderID samt Modify?
<% Response.Buffer = TRUE %>
<html>
<!-- #include file="adovbs.inc" -->
<%
response.write Request.Form("orderID") & "<p>"
If Request.Form("orderID") <> "" Then
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\trsder\asd\asdasd.mdb;pwd=qqq"
Modify = "UPDATE orders SET Notes = '" & Request.Form("Notes") &"' WHERE orderID = " & Request.Form("orderID")
'Connect.Execute(Modify)
response.write Modify
Connect.Close
Set Connect = Nothing
End If
'Response.Redirect "3x.asp?Way=search"
%>
</HTML>
L LarsG Medlem sedan dec. 2000 12 464 inlägg Modify = "UPDATE orders SET Notes = '" & Request.Form("Notes") &"' WHERE orderID = " & Request.[b]querystring[/b]("orderID")
Connect.Execute(Modify)
K Koggen Medlem sedan juni 2002 169 inlägg Hmmm.. är det så här enkelt kanske..?
Raden
VALUE="<%Request.QueryString("orderID")%>" NAME="orderID"> i ditt formulär ser ju inte rätt ut.
VALUE="<%=Request.QueryString("orderID")%>"
borde det ju vara, annars lär ju inte din querystring skrivas ut till formulärfältet, och därför inte heller lagras i databasen. Kan det vara så tro??
S solbulle Medlem sedan mars 2001 5 287 inlägg LarsG: Det där blir väl inte rätt? Så som jag uppfattar det har han querystringen på sidan innan och lägger dess värd i ett hidden-fält som postas med formuläret...
Ja.. nu är det så att jag fått ändra om i koden rättså rejält så det spelar ingen roll vem som har rätt längre.
Jaja, jag återkommer när jag stött på nya problem! It won't be long!
;)