webForumDet fria alternativet
Logga in / Bli medlem

Syntaxfel i UPDATE sats

ASP

2 svar · 189 visningar · startad av peppar

Medlem sedan dec. 2001873 inlägg
Trådstart#1

Går det inte att uppdatera fler poster samtidigt? Får följande fel:

Feltyp:
Microsoft JET Database Engine (0x80040E14)
Syntaxfel i UPDATE-uttryck.
/edit_insert.asp, line 37

på följande Kod:

SQL2 = "UPDATE mPlanering SET "
For Each Item In Request.Form
	If Item <> "mVecka" And Item <> "mId" And Item <> "mGrupp" And Item <> "mAntal" And Item <> "mNotering" And Item <> "Submit" And Item <> "xMark" And Item <> "grpId"Then
		If IsDate(Request.Form(Item)) And InStr(Request.Form(Item), "-") Then 
			SQL2 = SQL2 & Item & "= #" & Request.Form(Item) & "#, "
		Else
			SQL2 = SQL2 & Item & "= '" & Request.Form(Item) & "', "
		End If
	End If
	
Next

	SQL2 = SQL2 & " WHERE grpId = '" & Request.Form("grpId") & "'"
Response.Write SQL2
[b]ConnDb1.Execute(SQL2)[/b]

När jag skriver ut SQLen ser den ut så här:

UPDATE mPlanering SET grpEmk= 'Kaffe, te', grpDatum= '2002-10-24, 2002-10-25', grpAnkomst= 'Kaffe, te', grpFmk= 'KAffe, te', grpMiddag= 'Kaffe, te', grpLunch= 'Kaffe, te', grpVickning= 'Kaffe, te', grpNotering= 'Kaffe, te', WHERE grpId = '3, 4'
Medlem sedan dec. 200012 464 inlägg
#2

Nej, inte på det sättet i alla fall. Ta en post i taget, du får nog döpa fälten så dom är unika och sedan hålla reda på hur många det finns.

Anledningen till att du får ett syntaxfel är att det inte skall vara ett komma före where.

SQL2 = left(SQL2,len(sql2) -1)  & " WHERE grpId = '" & Request.Form("grpId") & "'"
Medlem sedan dec. 2001873 inlägg
#3

Tack, åter till ritbordet mao :)

395 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
136 ms — deklarationer (db)
122 ms — hämta statistik (db)
133 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)