Får syntax error meddelandet: En kvalificerad gissning är att du har ordet it's eller ett genetiv-s som till exempel Bell's i texten. Ah tack.. nu funkar det fint :) Ska man göra så med alla text-fält man kör i SQL-frågor för att förhindra SQL-injections? Samt CLng() för tal-fält. > Ska man göra så med alla text-fält man kör i SQL-frågor för att förhindraSyntax Error (på vissa poster)
[Microsoft][ODBC SQL Server Driver][SQL Server]Line12: Incorrect syntax near 's'.
Kod: 80040E14
För över några poster från en databas till en annan. Det lustiga är att den pillar över några poster och sedan kommer felmeddelandet så det verkar som om det beror på ett speciellt värde i något av fälten som förs över. Koden ser ut såhär:
<%
Addera2 = "Select * From forum WHERE ref_id = 0"
RecSet2.Open Addera2, Connect2, 3, 3
Do Until RecSet2.EOF
CL = "gruppID, fromID, namn, rubrik, IP, datum , ref_id, inlagg, antalsvar, senast, [last]"
spara = "" & RecSet2("id") & ", "
spara = spara & "" & RecSet2("fromID") & ", "
spara = spara & "'" & RecSet2("namn") & "', "
spara = spara & "'" & RecSet2("rubrik") & "', "
spara = spara & "'" & RecSet2("IP") & "', "
spara = spara & "'" & RecSet2("datum") & "', "
spara = spara & "0, "
spara = spara & "'" & RecSet2("inlagg") & "', "
spara = spara & "" & RecSet2("antalsvar") & ", "
spara = spara & "'" & RecSet2("senast") & "', "
spara = spara & "" & RecSet2("last") & ""
sql = "INSERT INTO forum (" & CL & ") values (" & spara & ")"
Conn.Execute(sql)
%>
Vad kan vara fel och varför kommer felet upp först när den når en viss post (vilken det nu är och vilket värde det nu är som utlöser felmeddelandet?)
Tack på förhand
/JakobSv: Syntax Error (på vissa poster)
När du lägger in en sträng i en SQL-fråga så får du se till att apostroferna kodas korrekt i strängen. Det gör man genom att ersätta apostroferna med dubbla apostrofer. Strängen "It's a mad mad mad mad world." skriver man alltså 'It''s a mad mad mad mad world.' i SQL.
Det blir alltså till exempel:spara = spara & "'" & Replace(RecSet2("namn"),"'","''") & "', "
Sv:Syntax Error (på vissa poster)
Undrar en liten sak till.. kan man nollställa en primareykey-räknare (identity) i SQL Server? Blev lite väl höga nummer nu efter allt testande...?
mvh
/JakobSv: Syntax Error (på vissa poster)
> SQL-injections? Samt CLng() för tal-fält.
Ja, det ska man.
> kan man nollställa en primareykey-räknare (identity) i SQL Server?
> Blev lite väl höga nummer nu efter allt testande...?
Om du ändrar fältet till ett vanligt tal och sedan till räknare så borde den börja om. Dock spelar det ju ingen roll ifall räknaren börjar från början eller inte, annat än rent känslomässigt/estetiskt.