webForumDet fria alternativet

Syntax error in UPDATE statement.

ASP

19 svar · 287 visningar · startad av trexter.com

Medlem sedan apr. 20021 203 inlägg
Frågan#1

Ska jag skriva annorlunda när jag hanterar ett datum?
Well, här är koden:

	Uppdatera = "UPDATE news SET Rubrik = '"& Request.Form("Rubrik") &"', Datum = '"& Request.Form("Datum") &"', Text = '"& Request.Form("text") &"', Lank = '"& Request.Form("Lank") &"', Lank_namn = '"& Request.Form("Lank_namn") &"' WHERE id = " & Request.QueryString("vilken")

:)

Medlem sedan sep. 20026 425 inlägg
#2

Det där ska väl fungera?? Men prova att sätta kolumnnamnen inom [ och ]..

Medlem sedan juni 200032 967 inlägg
#3

Text är ett reserverat ord. Byt namn på fältet.

När ska ni lära er, vänner? :)

Medlem sedan sep. 20026 425 inlägg
#4

@nders; Nja, om man sätter Text inom [ och ] så fungerar det :) Och det var så jag skrev att man skulle göra..

Medlem sedan apr. 20021 203 inlägg
#5

@nders skrev:

Text är ett reserverat ord. Byt namn på fältet.

När ska ni lära er, vänner? :)

Aldrig?

:)

Medlem sedan sep. 20026 425 inlägg
#6

Trexter; lär dig :)

Medlem sedan juni 200032 967 inlägg
#7

m_soderlund skrev:

@nders; Nja, om man sätter Text inom [ och ] så fungerar det :) Och det var så jag skrev att man skulle göra..

Men det är inte så man ska göra. Man kan göra så, men det är inte rätt. De enda gångerna man ska göra så är om man är för lat för att rätta till det. ;)

Det är inte någon SQL-standard att klamra på det sättet, utan det är ett otyg Access har för sig.

Det som är mest irriterande av allt, enligt min mening, är att man får använda reserverade ord som tabell- eller fältnamn.

Mvh,

Medlem sedan apr. 20021 203 inlägg
#8

Ok... två saker. Jag får fel på "criteria expression" med denna koden, har glömt hur man gör datum (tror det är felet)...

Och en sak till, hur lägger jag till en trim på "text" så att radbrytningar försvinner?

Connect.Execute "Insert into news (Rubrik, Datum, Texten, Lank, Lank_namn) Values ('"& Request.Form("Rubrik") &"','"& Request.Form("Datum") &"', '"& Request.Form("Texten") &"','"& Request.Form("Lank") &"','"& Request.Form("Lank_namn") &"')"

:)

Medlem sedan juni 200032 967 inlägg
#9

Om du använder Access 97 ska du ha brädgård (#) runt datumvärden. I andra versioner av Access går det alldeles utmärkt att använda apostrofer, det har vi tidigare kontrollerat.

Fråga två:

strText = Replace(strText, vbCrLf, "")

Mvh,

Medlem sedan apr. 20021 203 inlägg
#10

@nders: det är också vad jag trodde men varför blir det då fel (kör med 2000)?

:)

Medlem sedan juni 200032 967 inlägg
#11
  1. skriv ut den färdiga SQL-frågan med response.write istället för execute.
  2. berätta vad alla fälten har för datatyp.
  3. prova att byta till brädgård runt datumvärdet, trots att apostrofer bör fungera.
  4. är du säker på att felmeddelandet pekar på exekveringen av denna SQL-fråga? du har ingen mer SQL-fråga som körs?

Mvh,

Medlem sedan feb. 20022 594 inlägg
#12

Är inte "Datum" också ett reserverat ord? Har för mig att jag läst det nånstans. Låter dock konstigt. :)

Medlem sedan apr. 20021 203 inlägg
#13

Datum kan väl omöjligtvis vara reserverat?
Det är väl bara vissa engelska ord som är det?
:q

1. SQL-frågan:

Insert into news (Rubrik, Datum, Texten, Lank, Lank_namn) Values ('3rubrik3','', '','3lank3','3lank_namn3')

2. "Texten" är av typen PM, datum är datum och resten text.
3. Hjälpte inte... får felmeddelandet med "Criteria Expression"..
4. Ja. Nej.

:)

Medlem sedan juni 200032 967 inlägg
#14

Får du "Data type mismatch in criteria expression" alltså? (Ange gärna felmeddelandet med cut & paste från brusaren så det inte blir något krångel med det.)

Och: Jo, jag har varit med om att Datum varit ett reserverat ord. Ibland när man har svensk version av Access installerat så kan det gå åt pipan om man kallar saker för Datum. Använd gärna ett lite mer ingående namn (jag tycker det är lättare att ge fält engelska namn), exempelvis Date_Added, eller Date_Changed eller liknande.

Mvh,

Medlem sedan apr. 20021 203 inlägg
#15

Och därmed var problemet löst.
Fel namn på ett formulärnamn och istället för att lägga in dagens datum försökte jag lägga in ett datum som användaren "skulle ha skrivit, men inte skrev"...

Tack så mycket! Jag ska försöka fixa det lite mer självständigt nästa gång någonting blir fel... ;)

:)

Medlem sedan juni 200032 967 inlägg
#16

Och, förresten: Se till att du har ett giltigt datum i din SQL-fråga. Det kan vara det som gör att det inte funkar nu, att du försöker stoppa in en tom sträng.

Mvh,

Medlem sedan feb. 20022 594 inlägg
#17

@nders skrev:

exempelvis Date_Added, eller Date_Changed eller liknande.

*host* http://www.webforum.nu/showthread.php?s=&postid=415468#post415468

Ljuger min favoritsnabel. :q

;)

Medlem sedan juni 200032 967 inlägg
#18

Nix. Jag använder dock normalt inte underscore i fältnamn som jag gjorde i mitt exempel ovan.

Kameler är alltid bra.

Du kan också läsa detta inlägg i samma tråd.

Mvh,

Medlem sedan feb. 20022 594 inlägg
#19

Phu. :)

Medlem sedan juni 200032 967 inlägg
#20

Annat citat från den tråden:

Ekström skrev:

Hur kommer det sig att jag alltid hamnar så långt ifrån topic i mina svar?

:e

262 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)