Har problem med att uppdatera databasen. Då man fört in de nya uppgifter i formuläret går man vidare till subrutinen dbUpdate.
Sub dbUpdate()
strSQL = " UPDATE Produkt SET"
strSQL = strSQL & " Namn='"& Request.Form("Namn") &"',"
strSQL = strSQL & " Bild='"& Request.Form("Bild") &"',"
strSQL = strSQL & " Info='"& Request.Form("Info") &"', "
strSQL = strSQL & " Kottmangd='"& Request.Form("Kottmangd") &"',"
strSQL = strSQL & " Fetthalt='"& Request.Form("Fetthalt") &"', "
strSQL = strSQL & " Forvaring='"& Request.Form("Forvaring") &"', "
strSQL = strSQL & " Anvandningsomrade='"& Request.Form("Anvandningsomrade") &"', "
strSQL = strSQL & " Telefon='"& Request.Form("Telefon") &"', "
strSQL = strSQL & " Ovrigt='"& Request.Form("Ovrigt") &"' "
strSQL = strSQL & " WHERE ProduktID="& Request.Form("ProduktID")
datConnection.Execute(strSQL)
Set datConnection = nothing
Då man klickar på Uppdatera-knappen för man följande feltyp:
Microsoft JET Database Engine (0x80040E10)
Det har inte angetts något värde för en eller flera nödvändiga parametrar.
/magnus/admin/uppdatera.asp, line 219
Rad 219: datConnection.Execute(strSQL)
Om man tar bort raden går det att klicka på Uppdatera-knappen utan att det avbryts, men någon förändring görs ej. Vad kan det röra sig om för fel?
All kod
Bifogar all kod till uppdatera.asp för säkerhets skull...
<span class="text"><b>Redigera produkt</b><br>
<hr noshade size="1" align="left" width="420">
<%
Dim strConnect
Dim datConnection
Dim strSQL
Dim Rs
'Skapar Connectsträngen till databasen med driver och sökvägen till databasen
strConnect ="Provider=Microsoft.Jet.OLEDB.4.0; " & "Data Source="
strConnect = strConnect & Server.MapPath(".") & "\jm.mdb"
'Öppnar anslutningen till databasen
Set datConnection = Server.CreateObject("ADODB.Connection")
datConnection.Open strConnect
Select Case Request.Item("flag")
Case "formUpdate"
Call formUpdate()
Case "dbUpdate"
Call dbUpdate()
Case Else
Call all()
End Select
Sub all() 'Visa alla poster
'Hämtar Namn, Bild, KöttmängdID, FetthaltID, Svensk_köttråvaraID, KylvaraID, KonsumentkontaktID, AnvändningsområdesID, ÖvrigtID från Produkt
strSQL = " SELECT * FROM Produkt ORDER BY Namn "
'Skapar ett Recordset-objekt och öppnar det
Set Rs = datConnection.Execute(strSQL)
%>
<table border="0">
<%
If Rs.eof Then
%>
<tr>
<td valign="left"><span class="red"><b>Finns inga produkter att redigera!</b></span></td>
</tr>
<%
Else
Do Until Rs.EOF
%>
<tr>
<td><%Response.Write("<a class='tva' href='uppdatera.asp?flag=formUpdate&id="& Rs("ProduktID") &"'>") 'artid
Response.Write(Rs("Namn") &"</a><br>") %>
</td>
</tr>
<%
Rs.movenext
Loop
End IF
'Stänger recordsetet och databaskopplingen
Set Rs=nothing
Set datConnection = nothing
End Sub
Sub formUpdate() 'Uppdaterar de uppgifter som ska ändras
'Hämtar alla uppgifter om en artikel från Viadrustabellen
strSQL = "SELECT ProduktID, Namn, Bild, Info, Kottmangd, Fetthalt, Forvaring, Anvandningsomrade, Telefon, Ovrigt FROM Produkt, Svensk_kottravara, Kottmangd, Fetthalt, Kylvara, Anvandningsomrade, Konsumentkontakt, Ovrigt WHERE Produkt.KottmangdID = Kottmangd.KottmangdID AND Produkt.Svensk_kottravaraID = Svensk_kottravara.Svensk_kottravaraID AND Produkt.FetthaltID = Fetthalt.FetthaltID AND Produkt.KylvaraID = Kylvara.KylvaraID AND Produkt.AnvandningsomradesID = Anvandningsomrade.AnvandningsomradesID AND Produkt.KonsumentkontaktID = Konsumentkontakt.KonsumentkontaktID AND Produkt.OvrigtID = Ovrigt.OvrigtID AND Produkt.ProduktID = " & Request.Querystring("id")
'Definierar ett Recordset-objekt och öppnar det
Set Rs = datConnection.Execute(strSQL)
%>
<!--Uppgifterna skickas som input-boxar till dbUpdate()-->
<form action="uppdatera.asp" method="post" >
<table border="0">
<tr height="30">
<td width="140" align="right"><span class="text">Produktnamn:</span></td>
<td><span class="text"><input type="text" style="width:220px" name="Namn" value="<%=Rs("Namn")%>"></span></td>
</tr>
<tr height="30">
<td width="140" align="right"><span class="text">Bild:</span></td>
<td><span class="text"><input type="file" style="width:220px" name="Bild" value="<%=Rs("Bild")%>"></span></td>
</tr>
<tr height="30">
<td width="140" align="right"><span class="text">Köttmängd:</span></td>
<td><span class="text"><select style="width:220px" name="Kottmangd" size=1>
<option selected value="<%=Rs("Kottmangd")%>"><%=Rs("Kottmangd")%>
<option value="3">32g/100g
<option value="6">35g/100g
<option value="1">48g/100g
<option value="2">49g/100g
<option value="5">76g/100g
<option value="4">89g/100g
</select></span></td>
</tr>
<tr height="30">
<td width="140" align="right"><span class="text">Fetthalt:</span></td>
<td><span class="text"><select style="width:220px" name="Fetthalt" size=1>
<option selected value="<%=Rs("Fetthalt")%>"><%=Rs("Fetthalt")%>
<option value="4">17%
<option value="1">19%
<option value="2">20%
<option value="3">22%
<option value="5">23%
<option value="6">33%
</select></span></td>
</tr>
<tr height="30">
<td width="140" align="right"><span class="text">Svensk köttråvara:</span></td>
<td><span class="text"><select style="width:220px" name="Info" size=1>
<option selected value="1">Ja
</select></span></td>
</tr>
<tr height="30">
<td width="140" align="right"><span class="text">Kylvarufakta:</span></td>
<td><span class="text"><select style="width:220px" name="Forvaring" size=1>
<option selected value="<%=Rs("Forvaring")%>"><%=Rs("Forvaring")%>
</select>
</span></td>
</tr>
<tr height="30">
<td width="140" align="right"><span class="text">Konsumentkontakt:</span></td>
<td><span class="text"><select style="width:220px" name="telefon" size=1>
<option selected value="<%=Rs("Telefon")%>"><%=Rs("Telefon")%> el. [email]info@jmchark.se[/email]
</select></span></td>
</tr>
<tr height="30">
<td width="140" align="right"><span class="text">Användningsområde:</span></td>
<td><span class="text"><select style="width:220px" name="Anvandningsomrade" size=1>
<option selected value="<%=Rs("Anvandningsomrade")%>"><%=Rs("Anvandningsomrade")%>
<option value="1"> ---
<option value="2">Korv Stroganoff
</select></span></td>
</tr>
<tr height="30">
<td width="140" align="right"><span class="text">Övrigt:</span></td>
<td><span class="text"><select style="width:220px" name="Ovrigt" size=1>
<option selected value="<%=Rs("Ovrigt")%>"><%=Rs("Ovrigt")%>
</select></span></td>
</tr>
<input type="hidden" name="ProduktID" value="<%=Rs("ProduktID")%>">
<input type="hidden" name="flag" value="dbUpdate">
<tr height="30" valign="middle">
<td width="5"> </td>
<td><span class="text"><input type="submit" name="submit" value="Uppdatera" ></span>
<input type="button" name="angra" value="Ångra" onclick="javascript: history.go(-1);"></td>
</tr>
<table>
</form>
<%
'Stänger recordsetet och databaskopplingen
Set Rs = nothing
Set datConnection = nothing
End Sub
Sub dbUpdate()
strSQL = "UPDATE Produkt SET Namn = '" & Request.Form("Namn") & "', Bild = '" & Request.Form("Bild") & "', Info = '" & Request.Form("Info") & "', Kottmangd='"& Request.Form("Kottmangd") &"', Fetthalt='"& Request.Form("Fetthalt") &"', Forvaring='"& Request.Form("Forvaring") &"', Anvandningsomrade='"& Request.Form("Anvandningsomrade") &"', Telefon='"& Request.Form("Telefon") &"', Ovrigt='"& Request.Form("Ovrigt") &"' WHERE ProduktID="& Request.Form("ProduktID")
'Kör SQl-frågan
datConnection.Execute(strSQL)
'Stänger databaskopplingen
Set datConnection = nothing
%>
<tr height="20">
<td></td>
<td valign="middle"><span class="text"><b><%=Request.Form("Namn")%></b> är nu uppdaterad!</span></td>
</tr>
<tr height="40">
<td></td><br>
<br>
<td valign="middle"><a href="uppdatera.asp" class="tva">Redigera ytterligare en produkt?</a></td>
</tr>
<%
End Sub
%>