Nej, tanken är att man ersätter alla ' med '' annars så blir det fel i sql-satsen.
Kan du lägga ut lite utskrifter så man ser vad som händer.
<%If request.form("knapp") = "Uppdatera" Then
response.write "Antal id " & request.form("Id").count & "<br>"
response.write "Antal intressen " & request.form("fritidsintressen").count & "<br>"
for i = 1 to request.form("Id").count%>
<%
intressen = "'" & replace(request.form("Fritidsintressen")(i),"'","''") & "'"
id = request.form("Id")(i)
sql = "update intressen set fritidsintressen = " & intressen _
& " where Id = " & id
'response.write sql
connect.execute sql,rows,128
if rows = 0 then
sql = "insert into intressen(id,fritidsintressen) values(" & id & _
",'" & intressen & ")"
connect.execute sql,,128
end if
next%>
Om du lämnar något fritidsintresse tomt så blir det nog olika många värden i fälten vilket skulle orsaka det fel som du får.
För att hantera det så får du nog använda en annan strategi, t.ex att du namnger fälten olika t.ex. att du har en räknare som du lägger till efter namnet
i = 1
do until recset.eof
%>
<td><input type="text" name="Fritidsintressen_<%=i%>" value="<% =RecSet("Fritidsintressen") %>"></td>
<input type="hidden" name="id_<%=i%>" value="<%=recset("id")%>">
<%
i = i + 1
recset.movenext
loop
%>
<input type="hidden" name="antal" value="<% =i-1%>">
Sen på andra sidan
<%If request.form("knapp") = "Uppdatera" Then
for i = 1 to request.form("antal")%>
<%
intressen = "'" & replace(request.form("Fritidsintressen_" & i),"'","''") & "'"
id = request.form("Id" & i)
sql = "update intressen set fritidsintressen = " & intressen _
& " where Id = " & id
'response.write sql
connect.execute sql,rows,128
if rows = 0 then
sql = "insert into intressen(id,fritidsintressen) values(" & id & _
",'" & intressen & ")"
connect.execute sql,,128
end if
next%>
Det kan säkert finnas något smärre fel i ovanstående men principen, principen alltså.
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 04 feb 2002]