webForumDet fria alternativet

Inget felmeddelande men ingenting läggs in i databsen..

ASP

22 svar · 371 visningar · startad av trexter.com

Medlem sedan apr. 20021 203 inlägg
Frågan#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?

Medlem sedan feb. 20022 594 inlägg
#2

Du executar aldrig SQL-satsen :)

Connect.Execute(Modify)
Medlem sedan apr. 20021 203 inlägg
#3

Nej, det hjälpte inte Jag slängde in raden kod efter SQL-satsen...

Medlem sedan apr. 20021 203 inlägg
#4

Fungerade inte fter din nya modifiering heller.
Själv tror jag det är något "fel" med:
If Request.Form("orderID") <> "" Then

Medlem sedan feb. 20022 594 inlägg
#5

Testa:

If NOT len(Request.Form("orderID")) = 0 Then

Medlem sedan apr. 20021 203 inlägg
#6

nope...

Medlem sedan feb. 20022 594 inlägg
#7

Då måste det vara nåt fel på sidan där formuläret ligger. Posta kod

Medlem sedan mars 20015 287 inlägg
#8

En ide kan även vara att flytta ner din redirect till efter att du stängt din koppling.

Medlem sedan feb. 20022 594 inlägg
#9

Det kan väl ändå inte ha något med problemet att göra, solbulle?

Medlem sedan apr. 20021 203 inlägg
#10

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>
Medlem sedan mars 20015 287 inlägg
#11

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.

Medlem sedan mars 20015 287 inlägg
#12

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?

Medlem sedan apr. 20021 203 inlägg
#13

Solbulle: Japp, den skickas med på föregående sida:
<a href="showdb.asp?Modify=notes&orderID=<%=RecSet("orderID")%>">

Medlem sedan mars 20015 287 inlägg
#14

Hm... hur ser koden ut nu i modifydb.asp?

Medlem sedan apr. 20021 203 inlägg
#15
<% 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>
Medlem sedan mars 20015 287 inlägg
#16

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>
Medlem sedan dec. 200012 464 inlägg
#17
Modify = "UPDATE orders SET Notes = '" & Request.Form("Notes") &"' WHERE orderID = " & Request.[b]querystring[/b]("orderID") 
Connect.Execute(Modify)
Medlem sedan juni 2002169 inlägg
#18

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

Medlem sedan mars 20015 287 inlägg
#19

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

Medlem sedan apr. 20021 203 inlägg
#20

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!
;)

263 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)