Har följande senario. Hämtar från databasen (access) lägger in det i textrutorna och skall ändra men det funkar inte vad är det för fel?? Formen ser ut så här Det hjälpte inte. Om jag skriver response.write Request.form("title") Tex innan sql satsen så fylls inte texten i. Jag undra om texten följer med från formuläret. Jag ser två saker som kanske kan ställa till problem. Tackar för detta men det funkar fortfarande inte, har flyttat på enkelfnuttarna hit och dit och får olika felmeddelanden. det står för det mesta För få parametrar angavs. 2 förväntades. eller 1 förväntades. Felet innebär att du stavat fel till ett kolumn namn. Antar att catecory skall vara category. Update problem
<code>
<table width="450" align="left">
<form method="post" action="admin.asp?action=ändra">
<tr>
<td colspan="2"><b>Titel:</b><br>
<input type="text" name="title" size="25" value="<%=RS("title")%>"><input type="text" name="id" size="10" value="<%=Rs("id")%>"></td>
</tr>
<tr><td><b>Kategori:</b><br>
<input type="text" name="kat" size="15" value="<%=RS("category")%>"></td></tr><tr>
<td><b>Beskrivning</b><br><textarea rows="7" name="description" cols="44"><%=RS("description")%></textarea></td>
</tr><tr><td colspan="2"><b>Pris:</b><br>
<input type="text" name="price" size="65" value="<%=RS("price")%>"></td>
</tr><td colspan="2"><b>Namn på bilden:</b><br>
<input type="text" name="Image" size="65" value="<%=RS("Image")%>"></td>
</tr>
<tr>
<td>uppdatera
<!--<input type="submit" value="Ändra" name="knapp">--></td>
</tr>
</form>
</table>
<%RS.Close
Set RS = Nothing</code> Det ligger i textrutorna det jag hämtat från access
och i admin.asp?action=ändra har jag följande
<code>
if request.querystring("action") = "ändra" then
response.write"2 "
id = Request.form("id")
title = Request.form("title")
category = Request.form("category")
description = Request.form("description")
price = Request.form("price")
smallImage = Request.form("Image")
Sql = "update shItems set title = '"& title &"', catecory = " & category & ",description=" & description & ",price=" & price & ",image=" & image & " where id = '"& id & "'"
conn.execute(sql) ' <Här är ett fel Drivrutin för ODBC Syntaxfel i UPDATE-uttryck.
response.write sql
conn.close
set conn=nothing
end if</code>
mvh JockeSv: Update problem
Det kan kanske ha med detta att göraSv: Update problem
För det första.
Du har kommenterat bort din submit-knapp och använder en länk.
När du klickar på länken får du inte med några värden. Sätt tillbaka din submit-knapp, eller lägg in javascript för att skicka iväg formuläret när du klickar på länken.
Och sen har vi sql-strängen.
Den borde nog se ut såhär:
<code>
Sql = "update shItems set title = '"& title &"', catecory = '" & category & "',description='" & description & "',price='" & price & "',image='" & image & "' where id = "& id
</code>
Sen bör du alltid göra en ersättning på ' innan du försöker lägga in något i en databas.
tex:
<code>
title = replace(Request.form("title"),"'","''")
</code>
Mvh
FredrikSv: Update problem
och det är på raden med conn.execute(sql).
Vad betyder detta??
//JockeSv: Update problem
<code>
Function SQLText(Value)
If Len(Value) > 0 Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function
Function SQLNumber(Value)
If Isnumeric(Value) Then
SQLNumber = Replace(Value, ",", ".")
Else
SQLNumber = "Null"
End if
End Function
strSQL = "UPDATE shItems SET title = " & SQLText(title) &", category = " & SQLText(category) & ", description=" & SQLText(description) & ", price=" & SQLNumber(price) & ",image=" & SQLText(image) & " WHERE id = "& CLng(id)
</code>