webForumDet fria alternativet

Uppdateringen funkar ej!

ASP

7 svar · 263 visningar · startad av Alkvettern

Medlem sedan okt. 2002108 inlägg
Frågan#1

Ska uppdatera ett fotbollslags data (antal matcher, poäng osv.)

Har skapat ett form där jag postar iväg ändringarna till en sida som sköter uppdateringen och sen skickar vidare till en sida som visar den uppdaterade versonen av tabellen.

Problemet är att jag inte får det att fungera.

Koden som jag skickar ser ut så här:

<% 
Do Until oRS.EOF 
%>
<form name="andra" method="post" action="updatetabell.asp" target="_new">

<input type="hidden" name="id" value="<%=oRS("lagid")%>">
<tr>

<td width="100">
<font face="arial" size="1" color="BLACK">
<% Response.Write(oRS("lag"))%>

</td>
<td width="10">
<font face="arial" size="1">

<input type="text" value="<%=oRS("matcher")%>">

</td>

 <td width="20">
<font face="arial" size="1">
<input type="text" value="<%=oRS("vunna")%>">
 </td>
 <td width="15">
<font face="arial" size="1">
<input type="text" value="<%=oRS("oav")%>">
 </td>
 <td width="15">
<font face="arial" size="1">
<%=oRS("forluster")%>
 </td>

 <td>
<font face="arial" size="1">
<%=oRS("malg")%>
 </td>

 <td>

<%=oRS("mali")%>
 </td>
 <td align="right">

<%=oRS("poang")%>
 </td>
 <td>
<input type="submit" value="skicka">
 </td>
</tr>
</form>
<%
oRS.MoveNext
Loop 
%>

Uppdaterings sidan ser ut så här:

Set oConn = Server.CreateObject("ADODB.Connection") 
oConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\alkvetternsik\db\lag.mdb")) 
strSQL = "UPDATE tbl_lag SET lag= '"& Request.form("lag") &"', matcher= '"& Request.form("matcher") &"' WHERE lagid= ("& Request.form("lagid")&")"

[B]Set oRs = oConn.Execute(strSQL) [/B] 
%>

</head>

<body bgcolor="#FFFFFF" text="#000000">
<% Response.redirect("visatabellen.asp")%>
</body>

Men jag får bara felmeddelande:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'lagid= ()'.

/alkvetternsik/updatetabell.asp, line 21

Line 21 är den fetmarkerade raden ovanför

Medlem sedan aug. 20002 272 inlägg
#2
strSQL = "UPDATE tbl_lag SET lag= '"& Request.form("lag") &"', matcher= '"& Request.form("matcher") &"' WHERE lagid= "& Request.form("lagid") &""
Medlem sedan dec. 200012 464 inlägg
#3
<input type="hidden" name="[b]id[/b]" value="<%=oRS("lagid")%>">

strSQL = "UPDATE tbl_lag SET lag= '"& Request.form("lag") &"', matcher= '"& Request.form("matcher") &"' WHERE lagid= "& Request.form("[b]lagid[/b]")

Olika men skall vara lika.

Medlem sedan okt. 2002108 inlägg
#4

då får jag ett annat felmeddelande

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/alkvetternsik/updatetabell.asp, line 21

Medlem sedan dec. 200012 464 inlägg
#5

Data typer

Matcher är väl numeriskt så det förslår

strSQL = "UPDATE tbl_lag SET lag= '"& Request.form("lag") &"', matcher= "& Request.form("matcher") &" WHERE lagid= "& Request.form("lagid")

Det är bara för kolumner av typen text som man anger ' kring värdena.

Medlem sedan okt. 2002108 inlägg
#6

Nu har jag skrivit följande

 strSQL = "UPDATE tbl_lag SET lag= '"& Request.form("lag") &"', matcher= "& Request.form("matcher") &" WHERE lagid= "& Request.form("lagid") &""

Men får då felmeddelande

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.

/alkvetternsik/updatetabell.asp, line 21

Medlem sedan dec. 200012 464 inlägg
#7

Det finns inget fält som heter matcher i ditt formulär ser jag.

<input type="text" value="<%=oRS("matcher")%>">

Det fältet borde väl få namnet matcher.

Medlem sedan okt. 2002108 inlägg
#8

Självklart

Den dumme tackar o bockar :birp

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