webForumDet fria alternativet

Uppdatera databas?

1 svar · 189 visningar · startad av magnus_n

magnus_nMedlem sedan maj 200317 inlägg
#1

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?

magnus_nMedlem sedan maj 200317 inlägg
#2

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">&nbsp;</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
%>
128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)