Lägga in lång tagg i databasen

Databaser & SQL

2 svar · 179 visningar · startad av webbmannen

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

Jag vill kunna lägga in en formaterad länk via min kontrollpanel som jag bygger på.

SQL = "INSERT INTO massainfo (massa, utstallare, info1, veckodag, klockan, rum, talare, info2) VALUES ('"&Request.Form("massa")&"', '"&Request.Form("utstallare")&"', '"&Request.Form("info1")&"', '"&Request.Form("veckodag")&"', '"&Request.Form("klockan")&"', '"&Request.Form("rum")&"', '"&Request.Form("talare")&"', '"&Request.Form("info2")&"')"

I "utstallare" vill jag skriva ett namn och om det finns en hemsida så vill jag göra den till en länk. Skriver jag in taggen så får jag följande felmeddelande:

[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket ''<a href='http://www.webbmannen.com' onfocus='this.blur();' target='_blank' class='a'>webbmannen</a> ''.

Fråga ett är om man inte får skriva så långa meningar och fråga två är om taggarna spökar till det?

/webb

Medlem sedan dec. 200012 464 inlägg
#2

Hur långa poster du får stoppa in beror på datatypen.

Då du har Access som databas så kan du använda PM/Memo som maximalt kan rymma 65K.

Ditt problem beror på att din text innehåller '. Om man stoppa in ett värde som innehåller ett sådant tecken så får man skriva så här i SQL.


insert into t(c) values('Denna text innehåller ett ''-tecken')

Dvs, varje enskild apostrof måste escapas med en apostrof. Man kan enklast ordna det genom göra så här i sin VB-scriptkod.

 v = replace(request.form("ab"),"'","''")

 sql = "insert into t(c) values('" & v & "')"
Medlem sedan dec. 1999826 inlägg
#3

LarsG - idag är du en klippa :)

Tack!

/webb

265 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
118 ms — hämta tråd, inlägg och bilagor (db)
137 ms — ändringar (db)