webForumDet fria alternativet

Syntaxfel i UPDATE sats

2 svar · 186 visningar · startad av peppar

pepparMedlem sedan dec. 2001873 inlägg
#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'
LarsGMedlem 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") & "'"
pepparMedlem sedan dec. 2001873 inlägg
#3

Tack, åter till ritbordet mao :)

263 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
138 ms — hämta forumlista (db)
123 ms — hämta statistik (db)
134 ms — hämta tråd, inlägg och bilagor (db)