webForumDet fria alternativet

Komma ihåg ID

ASP

21 svar · 325 visningar · startad av Hallgren

Medlem sedan dec. 19991 606 inlägg
Frågan#1

Ok!

Jag hämtar info från en db så här:

<%	Set Connect = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\inetpub\wwwroot\rhodos\pizzaupdate\info.mdb"

SQL = "SELECT pizza AS x FROM pizza"
rs.Open SQL, Connect
%>

<form method="post" action="pizza-redigera.asp">

<select name="pizza">
<%
Do While Not rs.EOF
%>
            <option value="<%=rs("x")%>" name="val"><%=rs("x")%> </option>
<%
rs.MoveNext
Loop

Connect.Close
%>
<br>
<input type="submit" value="hämnta" style="{font-family:verdana; font-size:10px;}">
</form>

Tar emot infot så här:


<%	Set Connect = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\inetpub\wwwroot\rhodos\pizzaupdate\info.mdb"

SQL = "SELECT * FROM pizza WHERE pizza ='" & Request("x") & "'"
rs.Open SQL, Connect
%>

<form method="post" action="pizza-redigeraexe.asp">

<input type="text" name="pizza" value='<%=rs("pizza")%>'>
<input type="text" name="tillbehor" value='<%=rs("tillbehor")%>'>
<input type="text" name="barn" value='<%=rs("barn")%>'>
<input type="text" name="norm" value='<%=rs("norm")%>'>
<input type="text" name="fam" value='<%=rs("fam")%>'>
<input type="submit" value="lägg till">
</form>

Nu ska vi redigera lite:

<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\inetpub\wwwroot\rhodos\pizzaupdate\info.mdb"

pizza = Trim(Request.Form("pizza"))

tillbehor = Trim(Request.Form("tillbehor"))

barn = Trim(Request.Form("barn"))

norm = Trim(Request.Form("norm"))

fam = Trim(Request.Form("fam"))

SQL = "update pizza set pizza = '" & pizza & "', tillbehor = '" & tillbehor & "', barn = '" & barn & "', norm = '" & norm & "', fam = '" & fam & "'"
SQL = SQL & " where id = '" & Request("")
Connect.Execute(SQL)
%>

Men vet inte hur jag ska göra efter Where id = :( Så att den uppdaterar rätt ID.

Lösning?

------------------
Forumledare, webForum

Medlem sedan dec. 200012 464 inlägg
#2

Lägg med ID som ett hidden-fält i ditt formulär.

------------------
essentitia preter non sans multiplicandum

Medlem sedan dec. 19991 606 inlägg
#3

Och sedan köra

SQL = SQL & " where id = '" & Request("ID")

Eller ska jag köra med Request.Form?

------------------
Forumledare, webForum

Medlem sedan feb. 20012 412 inlägg
#4

Hej!

med: Request.Form("Id") då är du säker på att den tar requesterna i rätt ordning och så slipper den leta reda på vilken reguest du menar.

r: Id är väl ett numeriskt fält, då bör det se ut så här:

SQL = SQL & " where id = " & Request.Form("ID")

alltså utan '

mvh Jörgen

------------------
// Fin signatur
Jorgen hp = new Jorgen(this);

[Redigerat av jorgen den 24 aug 2001]

Medlem sedan dec. 19991 606 inlägg
#5

Oki, men kan någon förklara hur det här hidden-fält fungerar? Lite nyfiken på hur det kan komma ihåg rätt ID. :)

------------------
Forumledare, webForum

Medlem sedan dec. 200012 464 inlägg
#6
SQL = SQL & " where id = " & Request.form("ID")

(Du hade en apostrof för mycket)

Form är inte nödvändigt att ha med, men jag tycker att man skall ange det.

------------------
essentitia preter non sans multiplicandum

Medlem sedan feb. 20012 412 inlägg
#7

Hej!

Du skickar ju med ett specifikt Id från din SELECT på sidan innan. Alltså får du det Id du hämtade på sidan innan.


<input type="HIDDEN" value="<%=rs("Id")%>" name="Id">

Ps. Grattis till 1500 inlägg LarsG :)

mvh Jörgen

------------------
// Fin signatur
Jorgen hp = new Jorgen(this);

[Redigerat av jorgen den 24 aug 2001]

Medlem sedan dec. 200012 464 inlägg
#8
<input type= hidden name=id value=<%=rs("id"%>>

------------------
essentitia preter non sans multiplicandum

Medlem sedan dec. 19991 606 inlägg
#9
<input type= hidden name=id value=<%=rs("id")%>

------------------
Forumledare, webForum

Medlem sedan feb. 20012 412 inlägg
#10

Jepps, men en > för lite :)

mvh Jörgen

------------------
// Fin signatur
Jorgen hp = new Jorgen(this);

Medlem sedan dec. 19991 606 inlägg
#11

Får Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. :(

<form method="post" action="pizza-redigeraexe.asp">

<input type="text" name="pizza" value='<%=rs("pizza")%>'>
<input type="text" name="tillbehor" value='<%=rs("tillbehor")%>'>
<input type="text" name="barn" value='<%=rs("barn")%>'>
<input type="text" name="norm" value='<%=rs("norm")%>'>
<input type="text" name="fam" value='<%=rs("fam")%>'>
<input type= "hidden" name="id" value='<%=rs("id")%>'>
<input type="submit" value="lägg till">
</form>
<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\inetpub\wwwroot\rhodos\pizzaupdate\info.mdb"

pizza = Trim(Request.Form("pizza"))

tillbehor = Trim(Request.Form("tillbehor"))

barn = Trim(Request.Form("barn"))

norm = Trim(Request.Form("norm"))

fam = Trim(Request.Form("fam"))

SQL = "update pizza set pizza = '" & pizza & "', tillbehor = '" & tillbehor & "', barn = '" & barn & "', norm = '" & norm & "', fam = '" & fam & "'"
SQL = SQL & " where id = " & Request.form("ID")
Connect.Execute(SQL)
%>

------------------
Forumledare, webForum

[Redigerat av Hallgren den 24 aug 2001]

Medlem sedan feb. 20012 412 inlägg
#12

Hej!

Heter fältet ID eller id?

kan vara kinkigt ibland, verkar som inte den kan hitta den Posten med det Id:et.

mvh Jörgen

------------------
// Fin signatur
Jorgen hp = new Jorgen(this);

Medlem sedan dec. 19991 606 inlägg
#13
SQL = "SELECT * FROM pizza WHERE pizza ='" & Request("x") & "'"

Står inte X för ID i den första koden jag skrev?

Fältet heter id.

------------------
Forumledare, webForum

Medlem sedan juni 200032 967 inlägg
#14

din select-tagg heter ju pizza, då är det pizza du ska requesta in.

------------------
mördar-anders, det är jag.

Medlem sedan dec. 19991 606 inlägg
#15

Nu fungerar inget! :e :e

Man kan bli tokig på mindre. Hehe!

------------------
Forumledare, webForum

Medlem sedan dec. 19991 606 inlägg
#16

Data type mismatch in criteria expression.

<%	Set Connect = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\inetpub\wwwroot\rhodos\pizzaupdate\info.mdb"

SQL = "SELECT * FROM pizza WHERE id ='" & Request("id") & "'"
rs.Open SQL, Connect
%>

<form method="post" action="pizza-redigeraexe.asp">

<input type="text" name="pizza" value='<%=rs("pizza")%>'>
<input type="text" name="tillbehor" value='<%=rs("tillbehor")%>'>
<input type="text" name="barn" value='<%=rs("barn")%>'>
<input type="text" name="norm" value='<%=rs("norm")%>'>
<input type="text" name="fam" value='<%=rs("fam")%>'>
<input type="submit" value="lägg till">
</form>

Använder nu..

SQL = "SELECT pizza AS id FROM pizza"
rs.Open SQL, Connect

Och min select heter id.

------------------
Forumledare, webForum

Medlem sedan feb. 20012 412 inlägg
#17

Hej!


SQL = "SELECT * FROM pizza WHERE id =" & Request("id") & ""
rs.Open SQL, Connect

tog bort 2 '

------------------
// Fin signatur
Jorgen hp = new Jorgen(this);

Medlem sedan dec. 19991 606 inlägg
#18

Too few parameters. Expected 1.

Tror det är dags att stänga av och bege sig hemåt. :l

------------------
Forumledare, webForum

Medlem sedan feb. 20012 412 inlägg
#19

Hej!

Du måste på något sätt stava fel till fältnamnen eller efterfråga fel fält.

Kolla så fältnamnen är rättstavade och att det är rätt fält du jämför med.

mvh Jörgen

------------------
// Fin signatur
Jorgen hp = new Jorgen(this);

Medlem sedan mars 20002 836 inlägg
#20

Vad är det för id som du vill spara?
är det id'et för pizzan eller id för presonen som beställer?

Känns som att det är ngn som snackar katter och andra hundar ;)

cya,
PatrikB

------------------
*ordning och reda!, pengar på fredag.*

273 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
136 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)