webForumDet fria alternativet

SQL update sats som inte funkar

ASP

28 svar · 569 visningar · startad av His Divine Shadow · sida 2 av 2

Frågan, av His Divine Shadow

OK, våra trogna tittare från förra tråden vet att jag bytte ut recordset's uåpdatering mot en SQL UPDATE sats Men nu har jag problem med den, får ett sånt här meddelande: Microsoft OLE DB Provider for ODBC Drivers (0x80040E09) \[TCX\]\[MyODBC\]You have an error in your SQL syntax near 'Chambers (White Dwarf 126)Description = Blablahblahblah' at line 1 /wh40k/admin/modify.asp, line 224 Såh

Läs frågan i sin helhet →
Medlem sedan juni 200032 967 inlägg
#21

@nders skrev:

Skriv ut den färdiga SQL-frågan med Response.Write istället för att exekvera den. Då ser du mycket lättare vad det är som är knasigt med den.

Hur ser det ut?

Medlem sedan sep. 20004 079 inlägg
#22

Ok, Crisse, koden ser ut som den senaste versionen som är postad här ovanför.

Och här är response.write resultatet:

UPDATE DATA SET Name = 'TEST',Category = 'TEST',SubCategory = 'TEST',Species = 'TEST',Source = 'TEST',Description = 'TEST', WHERE ID = 4
Medlem sedan sep. 20004 079 inlägg
#23

Hmm, också, denhär replace, den är lite problematisk iochmed att den förstör grammatiken när det kommer fram ett ' tecken.

Medlem sedan apr. 2001425 inlägg
#24

Du ska inte ha den sista "," innan where...

Medlem sedan sep. 20004 079 inlägg
#25

Ja, nu funkar det :bire:

Medlem sedan juni 200032 967 inlägg
#26

His Divine Shadow skrev:

Hmm, också, denhär replace, den är lite problematisk iochmed att den förstör grammatiken när det kommer fram ett ' tecken.

Nej, ingenting förstörs. Det enda replacen gör är att den gör så du kan använda apostrof i dina strängar. Den förändrar inget värde.

mvh

Medlem sedan sep. 20004 079 inlägg
#27

Ah, jag ser, på response.write hadde den två ' men efter den var insatt så var det tillbaks till ett '

Medlem sedan juni 200032 967 inlägg
#28

Precis. Ersättningen till två är för att databasmotorn ska förstå att "här kommer en apostrof som ska ingå i texten, den ska inte tolkas som att texten tar slut".

Dubblerar man inte apostroferna i SQL-frågan kan det alltså se ut så här : fält = 'And he knew he couldn't do it' . Det är alltså t do it' som databasmotorn inte hajar, eftersom det liksom inte sitter ihop med något annat.

Det är lite svårt att förklara, men jag hoppas du förstår principen i alla fall.

mvh

Medlem sedan sep. 20004 079 inlägg
#29

Jo, fattar principen

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