arrayindex startar på 0
sql = "Insert into c_protokoll (match_id, lag_id,spelar_id,spelar)"
sql = sql & " Values ('" & trim(match_id(i-1)) & "', '" & trim(lag_id(i-1)) & "', '" & trim(spelar_id(i-1)) & "', '" & trim(spelar(i-1)) & "')"
3 svar · 374 visningar · startad av andreas_lindh
Kan någon se vad som är fel?
<% match_id=split(request.form("match_id"),",")
lag_id=split(Request.form("lag_id"),",")
spelar_id=split(Request.Form("id"),",")
spelar=split(Request.Form("spelar"),",")
for i = 1 to request.form("spelar").count
sql = "Insert into c_protokoll (match_id, lag_id,spelar_id,spelar)"
sql = sql & " Values ('" & trim(match_id(i)) & "', '" & trim(lag_id(i)) & "', '" & trim(spelar_id(i)) & "', '" & trim(spelar(i)) & "')"
next
oConn.Execute(sql)
oconn.close
%>
Får detta felmeddelandet:
Feltyp:
Körningsfel i Microsoft VBScript (0x800A0009)
Felaktigt matrisindex: 'i'
/tikcup/edit_schema.asp, line 437
[Redigerat av andreas_lindh den 07 feb 2002]
arrayindex startar på 0
sql = "Insert into c_protokoll (match_id, lag_id,spelar_id,spelar)"
sql = sql & " Values ('" & trim(match_id(i-1)) & "', '" & trim(lag_id(i-1)) & "', '" & trim(spelar_id(i-1)) & "', '" & trim(spelar(i-1)) & "')"
Jag ändrade till
<%
match_id=split(request.form("match_id"),",")
lag_id=split(Request.form("lag_id"),",")
spelar_id=split(Request.Form("id"),",")
spelar=split(Request.Form("spelar"),",")
for i = 0 to request.form("spelar").count
sql = "Insert into c_protokoll (match_id, lag_id,spelar_id,spelar)"
sql = sql & " Values (" & trim(match_id(i)) & ", " & trim(lag_id(i)) & ", " & trim(spelar_id(i)) & ", " & trim(spelar(i)) & ")"
next
oConn.Execute(sql)
%>
Det borde väl vara samma men det fungerar inte.
Den första fungerar inte heller som den ska. Den lägger bar till en post fast det ska vara flera.
Nej, det är inte samma sak.
Anledningen till att du bara får in en post är att du bara gör execute en gång.
oConn.Execute sql
Flytta in den i for-loopen.