webForumDet fria alternativet

Syntax error in UPDATE statement.

19 svar · 287 visningar · startad av trexter.com

trexter.comMedlem sedan apr. 20021 203 inlägg
#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")

:)

m_soderlundMedlem sedan sep. 20026 425 inlägg
#2

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

@ndersMedlem sedan juni 200032 969 inlägg
#3

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

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

m_soderlundMedlem 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..

trexter.comMedlem 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?

:)

m_soderlundMedlem sedan sep. 20026 425 inlägg
#6

Trexter; lär dig :)

@ndersMedlem sedan juni 200032 969 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,

trexter.comMedlem 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") &"')"

:)

@ndersMedlem sedan juni 200032 969 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,

trexter.comMedlem 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)?

:)

@ndersMedlem sedan juni 200032 969 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,

EkströmMedlem 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. :)

trexter.comMedlem 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.

:)

@ndersMedlem sedan juni 200032 969 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,

trexter.comMedlem 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... ;)

:)

@ndersMedlem sedan juni 200032 969 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,

EkströmMedlem 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

;)

@ndersMedlem sedan juni 200032 969 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,

EkströmMedlem sedan feb. 20022 594 inlägg
#19

Phu. :)

@ndersMedlem sedan juni 200032 969 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

126 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)