10. januar 2005 - 10:37Der er
26 kommentarer og 1 løsning
fejl i SQL sætning.
Hej jeg skal lave en update på mit nyheds script, men kan ikke lige se hvad fejlen er i min SQL linje nogen der kan se det?
strSQL = "UPDATE news SET overskrift = '"& request.Form("redigeroverskrift") &"', tekst = '"& request.Form("redigertekst") &"' WHERE ID = "&request("ID")&" "
Kan det være fordi der er bruge ' i teksten??? Det skal du altid tjekke for og udskifte dem:
strSQL = "UPDATE news SET overskrift = '"& replace(request.Form("redigeroverskrift"),"'","''") &"', tekst = '"& replace(request.Form("redigertekst"),"'","''") &"' WHERE ID = "&request("ID")
har et java script tjek på om der er pling i teksten, og har prøvet med pling som jtbroad siger, men virker stadigt ikke. i kan lige få hele scriptet:
<!-- Start Nyheder opdateres -->
<% 'her opdateres data i Nyheds databasen If request("Do") = "Opdaternyhed" then strSQL = "UPDATE news SET overskrift = '"& request.Form("redigeroverskrift") &"', tekst = '"& request.Form("redigertekst") &"' WHERE ID = '"&request("ID")&"'" conn.execute(strSQL) response.Redirect("news.asp") End If %>
<% 'Her i vælges data fra nyhed's tabellen der skal redigeres If request("Do") = "redigernyhed" then strSQL = "SELECT * FROM news WHERE ID = "& request("ID") &"" set RS = conn.execute(strSQL) %>
UPDATE news SET overskrift = 'nyheder ikke "pæne"', tekst = 'de nyheder der bliver skrevet er ikke pæne pga at linje skiftene er forkert tror jeg men dette er kun et gæt så længe andet ikke er bevist!' WHERE ID = '46'
Der skal ikke ' omkring ID'et, da det er et tal. Det er kun tekst det skal bruges på. Ellers ser den god nok ud. Det eneste problem der kan være er hvis ID=46 ikke eksistere...
Den kommer stadig med en fejl, meddelsen ser således ud:
Tekniske oplysninger (for supportteknikere)
Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) [Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1. /6ty9/rediger.asp, line 21
Browsertype: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)
Side: POST 220 bytes to /6ty9/rediger.asp
POST Data: redigeroverskrift=Nyheder+ikke+%22p%E6ne%22&redigertekst=De+nyheder+der+bliver+skrevet+er+ikke+p%E6ne+pga+at+linje+skiftene+er+forkert+tror+jeg+men+dette+er+kun+et+g%E6t+s%E5+l%E6nge+andet+ikke+er+bev . . .
strSQL = "UPDATE news SET overskrift = '"& request.Form("redigeroverskrift") &"', tekst = '"& request.Form("redigertekst") &"' WHERE ID = '"&request("ID")&"'"
har ændret linjen til
strSQL = "UPDATE [news] SET [overskrift] = '"& request.Form("redigeroverskrift") &"', [tekst] = '"& request.Form("redigertekst") &"' WHERE [ID] = "&request("ID")
nu fik fennec altsaa alle point, håber ikke der er nogen der gerne ville have haft nogle af dem, og hvis der er så håber jeg ikke at i græder alt for meget i nat :D
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.