webForumDet fria alternativet

For Each loop med SQL

ASP

5 svar · 367 visningar · startad av hellboy

Medlem sedan aug. 200349 inlägg
Frågan#1

Jag har följande kod, som "nästan" fungerar...

Dim SQL,arrSQL(3)
SQL = "UPDATE upl_items SET "
i = 1
For Each File in Upload.Files
  arrSQL(i-1) = SQL & "file" & i & " = '" & File.FileName & "'," & "file" & i & "_w = '" & File.Imagewidth & "',"
  arrSQL(i-1) = arrSQL(i-1) & "upl_rubrik = '" & SafeSQL(Upload.Form("upl_rubrik")) & "', upl_info_text = '" & SafeSQL(Upload.Form("upl_infotext")) & "'"
  arrSQL(i-1) = arrSQL(i-1) & " WHERE id=" & Upload.Form("id")
  i = i + 1

Next
Connect.Execute(arrSQL(i-1))
Response.Write "Klart!"

Får dock följande felmeddelande:

Microsoft JET Database Engine error '80040e0c'

Command text was not set for the command object.

/test/edit_save.asp, line 26

Har någon någon idé om en lösning?

Medlem sedan sep. 2003301 inlägg
#2

Hur ser rad 26 ut ??? vilken är det ?

Medlem sedan juni 200032 967 inlägg
#3

Det vore helt klart ganska bra om Execute-raden ligger inne i loopen.

Jag förstår inte heller riktigt meningen med att börja med i = 1 och hela tiden använda i-1?

Medlem sedan aug. 200349 inlägg
#4

Line 26 är Execute-raden.

Flyttar jag in execute till innan next, kommer samma felmeddelande upp som innan.

Hur skulle man annars kunna utföra det som är menat?

Medlem sedan juni 200032 967 inlägg
#5

Jag förstår inte varför du använder en array överhuvudtaget. Borde inte detta funka:

SQL = "UPDATE upl_items SET "
i = 1
For Each File in Upload.Files
  SQL = SQL & "file" & i & " = '" & File.FileName & "'," & "file" & i & "_w = '" & File.Imagewidth & "',"
  i = i + 1
Next
SQL = SQL & "upl_rubrik = '" & SafeSQL(Upload.Form("upl_rubrik")) & "', upl_info_text = '" & SafeSQL(Upload.Form("upl_infotext")) & "'"
SQL = SQL & " WHERE id=" & Upload.Form("id")
Connect.Execute SQL,,128

Response.Write "Klart!"
Medlem sedan aug. 200349 inlägg
#6

jo, det gjorde det ju.. Jag fick förslaget att en array var en bra lösning, men det denna var ju mycket bättre!

Tack!

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