webForumDet fria alternativet

For Each loop med SQL

5 svar · 367 visningar · startad av hellboy

hellboyMedlem sedan aug. 200349 inlägg
#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?

FraggelMedlem sedan sep. 2003302 inlägg
#2

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

@ndersMedlem sedan juni 200026 914 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?

hellboyMedlem 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?

@ndersMedlem sedan juni 200026 914 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!"
hellboyMedlem 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!

Genererad på 367 ms · cache AV · v20260730165559-full.f96bc7eb