webForumDet fria alternativet

for each

13 svar · 281 visningar · startad av icaaq

icaaqMedlem sedan okt. 20005 273 inlägg
#1

jag har följande:

For Each objItem in Request.Form
	[b]If Request.Form(objitem) <> "0" Then[/b]
		arr = Split(Request.Form(objitem),",")
		varID = arr(0)
		varFonster = arr(1)
		varKlass = arr(2)
		varGrupp = arr(3)
srtSql = "INSERT INTO Rullning(ID, "& varFonster &") VALUES ("& varID &", '" & varKlass & "," & varGrupp & "')"
con.execute(strSql)
End If
Next

Microsoft VBScript runtime error '800a01a8'

Object required: 'Request'

/Test/grej.asp, line 18

kan jag lösa det på nått ivs

------------------
ibland tror jag att jag kan lite för lite än vad jag kan ....

[Redigerat av icaaq den 17 apr 2001]

[Redigerat av icaaq den 18 apr 2001]

VideMedlem sedan dec. 19998 577 inlägg
#2

Såhär kanske...

If Request.Form(objItem) <> "0" Then

Du döpte den ju till objItem

------------------
webEye.nu SweQuake.com

icaaqMedlem sedan okt. 20005 273 inlägg
#3

jag får det inte rriktigt att funka som jag vill...
nu blir det

Microsoft VBScript runtime error '800a0009'

Subscript out of range: '[number: 1]'

/Test/grej.asp, line 20

det som kommer med requesten är:
value="1, VU, P-86, 1"

------------------
ibland tror jag att jag kan lite för lite än vad jag kan ....

[Redigerat av icaaq den 17 apr 2001]

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Jag förstår inte varför du gör for each när indata ser ut så? Borde det inte gå att göra split direkt istället och kolla om första värdet är <> 0 och i så fall göra insert?

Nu så gör du split på strängen 1 och får då ett element i din array.

------------------
essentitia preter non sans multiplicandum

icaaqMedlem sedan okt. 20005 273 inlägg
#5

Vad menar du ....
som jag har det nu så har jag en massa values från en sida....kolla själva..

om dem inte valt nåt så får den requesten value "0"

och om det är value "0" så vill jag inte lägga in den

har du nått annat att föreslå??

------------------
ibland tror jag att jag kan lite för lite än vad jag kan ....

[Redigerat av icaaq den 20 apr 2001]

LarsGMedlem sedan dec. 200012 464 inlägg
#6

Jag kollade på sidan, så nu förstår jag hur det ser ut. Men det fanns ju ett hidden field med och det kanske är det som strular. Du kanske kan lägga en koll efter din split att du fick 4 värden.
dvs

For Each objItem in Request.Form
If Request.Form(objitem) <> "0" Then
arr = Split(Request.Form(objitem),",")
if  Ubound(arr) = 3 then
varID = arr(0)
varFonster = arr(1)
varKlass = arr(2)
varGrupp = arr(3)
srtSql = "INSERT INTO Rullning(ID, "& varFonster &") VALUES ("& varID &", '" & varKlass & "," & varGrupp & "')"
con.execute(strSql)
End If
End If
Next

------------------
essentitia preter non sans multiplicandum

icaaqMedlem sedan okt. 20005 273 inlägg
#7

ok...inga felmess längre men... det händer inget :(

If Request.Form("regga") = "reg" Then
Set con = Server.CreateObject("ADODB.Connection")
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../data/bustercup.mdb")
con.open
strSqlDel = "DELETE FROM Rullning"
con.execute(strSqlDel)

 For Each objItem in Request.Form
 If Request.Form(objitem) <> "0" Then
 arr = Split(Request.Form(objitem),",")
 if Ubound(arr) = 3 then
 varID = arr(0)
 varFonster = arr(1)
 varKlass = arr(2)
 varGrupp = arr(3)
 srtSql = "INSERT INTO Rullning(ID, "& varFonster &") VALUES("& varID &", '" & varKlass & "," & varGrupp &"')"
 Response.Write strSql
 con.execute(strSql)
 End If
 End If
 Next

Else

Response.write ger inget
:q :q :q ;)

------------------
ibland tror jag att jag kan lite för lite än vad jag kan ....

icaaqMedlem sedan okt. 20005 273 inlägg
#8

nu ser jag srtSql istället för strSql

------------------
ibland tror jag att jag kan lite för lite än vad jag kan ....

icaaqMedlem sedan okt. 20005 273 inlägg
#9

vill ändå inte gå .... :(
det vill inte komma in nåt i db.

------------------
ibland tror jag att jag kan lite för lite än vad jag kan ....

VideMedlem sedan dec. 19998 577 inlägg
#10

Vad får du när du skriver ut SQL-strängen?

------------------
webEye.nu SweQuake.com

icaaqMedlem sedan okt. 20005 273 inlägg
#11

inget... :(

------------------
ibland tror jag att jag kan lite för lite än vad jag kan ....

LarsGMedlem sedan dec. 200012 464 inlägg
#12

Hmm, några av dina drop down listor hade ju också samma namn. Då kommer väl alla värden i samma item, dvs det blir

1, VU, P-86, 1,0,3, VU, P-84, 4

eller något sådant i objItem. Så om man döper dom till olika namn?!

------------------
essentitia preter non sans multiplicandum

icaaqMedlem sedan okt. 20005 273 inlägg
#13

Fan det funkar ju inte ändå......asso det funkar med denna for each men jag kan ju inte köra flera inserts på samma id ....det blir å tänka lite över natten nån som har en ide :q

------------------
ibland tror jag att jag kan lite för lite än vad jag kan ....

icaaqMedlem sedan okt. 20005 273 inlägg
#14

Löste det så här:

 For Each objItem in Request.Form
 If Request.Form(objitem) <> "0" Then
 arr = Split(Request.Form(objitem),",")
 if Ubound(arr) = 3 then
 varID = arr(0)
 varFonster = arr(1)
 varKlass = arr(2)
 varGrupp = arr(3)
 strSql = "SELECT ID FROM Rullning WHERE ID = "& varID&""
 Set rs = con.execute(strSql)
 If rs.EOF Then
 strIns = "INSERT INTO Rullning(ID, "& varFonster &") VALUES("& varID &",'"&varKlass&","&varGrupp&"')"
 Response.Write strIns
 con.execute(strIns)
 Else
 strUpd = "UPDATE Rullning SET "&varFonster&" = '"& varKlass&","&varGrupp&"' WHERE ID = "&varID&""
 Response.Write strUpd
 con.execute(strUpd)
 End If
 End If
 End If
 Next

tack allihopa

------------------
ibland tror jag att jag kan lite för lite än vad jag kan ....

136 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)