webForumDet fria alternativet

Felaktigt matrisindex: [number: 1]

ASP

21 svar · 524 visningar · startad av Inferis

Medlem sedan sep. 2000667 inlägg
Frågan#1

Varför funkar inte denna koden?


varMyArray = Split(strOrderID, "_")
strValue1 = varMyArray(0)
strValue2 = varMyArray(1)
Medlem sedan juni 20022 599 inlägg
#2

För att "strOrderID" inte alltid innehåller "_"?

Medlem sedan nov. 20017 144 inlägg
#3

har du ngn text runt _ då?
Det är ju inget fel på koden du bifogade i alle fall!

Medlem sedan sep. 2000667 inlägg
#4

Jodå, det gör den...

Medlem sedan nov. 20017 144 inlägg
#5

posta mera kod!

Medlem sedan sep. 2000667 inlägg
#6

Ett formulär som skickar data ser ut så här:
(Det har alltid två värden)

<input type="hidden" name="order_id" value="<%=rs("order")%>_<%=request.form("id")%>">
Medlem sedan dec. 19998 577 inlägg
#7

Kolla källan på HTMLkoden och se så att det verkligen finns värden för de två variablerna.

Medlem sedan sep. 2000667 inlägg
#8

Skriver jag ut strängen utan split så får jag värde1_värde2.

Medlem sedan sep. 2000667 inlägg
#9

Koden som tar emot datan:

Dim conn, MdbFilePath, SQL, strOrderID, strDatum, varMyArray, strValue1, strValue2

strOrderID = Request.Form("order_id") 	

varMyArray = Split(strOrderID, "_")
strValue1 = varMyArray(0) 
strValue2 = varMyArray(1) 

	  strDatum = "" & now()
Set conn = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("../data/dbX.mdb")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
SQL = "Update T_Users Set Date_order = #"& strDatum &"#, B = '" &  strValue2 & "'  WHERE U = '" & strValue1 & "'"
Conn.Execute(SQL)
Medlem sedan nov. 20017 144 inlägg
#10

om du trimmar då?
strOrderID = trim(Request.Form("order_id"))

Medlem sedan sep. 2000667 inlägg
#11

Trim funkade inte heller. :-(

Medlem sedan mars 20015 287 inlägg
#12

Varför sätta ihop en sträng för att sen bryta isär den? Kan du inte skicka två variabler?

Medlem sedan sep. 2000667 inlägg
#13

Kan bara skicka en variabel. Därför vill jag prova att lösa det så här.

Medlem sedan juni 20022 599 inlägg
#14

Ge ett exempel på hur "strOrderID" ser ut då du får felet.

Medlem sedan sep. 2000667 inlägg
#15

Jag får värdet "abc_123"

B = '" & strValue2 & "' WHERE U = '" & strValue1 & "'"

Jag vill ha in värdet "123" i B och värdet "abc" i U.

Medlem sedan mars 20015 287 inlägg
#16

Inferis skrev:

Kan bara skicka en variabel.

Varför?

*Nyfiken...*

Medlem sedan juni 20022 599 inlägg
#17

Du kan inte få felaktigt matrisindex med koden ovan om strOrderID="abc_123".

Medlem sedan nov. 20017 144 inlägg
#18

Jag har testad din kod (utan inserten) och det funkar ju!

Medlem sedan sep. 2000667 inlägg
#19

Solbulle:
Det är en s.k betalningsbekräftelse. Den kommer från Paynova.
Jag håller på att testa deras betalsystem.

Medlem sedan sep. 2000667 inlägg
#20

Koden funkar fortfarande inte.

273 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
136 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
136 ms — ändringar (db)