/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
SQL sætning med special tegn?
Fra : Morten


Dato : 26-04-05 23:02

Hej

Jeg skal køre denne sætning i ASP, men den vil ikke acceptere bindestregen
.... hvad gør jeg?

"SELECT * INTO B-test FROM x"

Jeg har også brug for at bruge mellemrum som her:

"SELECT * INTO b test FROM x"

Nogen der kan hjælpe?


--
Jeg beskyttes af den gratis SPAMfighter til privatbrugere.
Den har indtil videre sparet mig for at få 1706 spam-mails.
Betalende brugere får ikke denne besked i deres e-mails.
Hent den gratis her: www.spamfighter.dk



 
 
Troels Arvin (27-04-2005)
Kommentar
Fra : Troels Arvin


Dato : 27-04-05 00:06

On Wed, 27 Apr 2005 00:01:39 +0200, Morten wrote:

> Jeg skal køre denne sætning i ASP, men den vil ikke acceptere bindestregen
> ... hvad gør jeg?
>
> "SELECT * INTO B-test FROM x"

I standard SQL sætter man dobbeltanførselstegn omkring identifiers (fx.
kolonnenavne), hvis man har identifiers med sære navne.

Desværre er der DBMSer, der har valgt at benytte andre
identifier delimiters end dobbeltanførselstegn. Fx. vil MSSQL helst have,
at man sætter [ og ] omkring dem, mens man i MySQL sætter back-ticks (`)
omkring besværlige identifiers.

--
Greetings from Troels Arvin, Copenhagen, Denmark


Jens Gyldenkærne Cla~ (27-04-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 27-04-05 09:55

Troels Arvin skrev:

> Fx. vil MSSQL helst have, at man sætter [ og ] omkring dem

MS Access bruger samme konvention.

Morten: Du har ikke angivet hvilken database du bruger (eller den
fejlmeddelelse du får fra asp-parseren). Som det fremgår af tråden har
den en vis betydning her. Hvis du bruger en database der ikke er nævnt i
en af kommentarerne (og standardmetoden som Troels Arvin beskrev, ikke
virker), så fortæl hvilken udgave det er.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jens Gyldenkærne Cla~ (27-04-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 27-04-05 10:00

Morten skrev:

> Jeg skal køre denne sætning i ASP, men den vil ikke acceptere bindestregen
> ... hvad gør jeg?

Generelt er det bedst at undgå "besværlige" tegn og reserverede ord i
objektnavne (fx tabeller og felter). Troels har beskrevet hvordan man
kan gøre det alligevel (bemærk at Access anvender samme konvention som
MSSQL her).

> "SELECT * INTO B-test FROM x"

Hvis du anvender Access eller MSSQL skal ovenstående skrives således:

   "SELECT * INTO [B-test] FROM x"

Det er samme syntaks ved mellemrum i feltnavnet - samt ved feltnavne der
også er reserverede ord (fx "by").

I MSSQL og Access (og sikkert også i andre systemer) er der i øvrigt
ikke noget i vejen for at escape alle objektnavne. Man kan derfor både
skrive:

   SELECT foo FROM bar

- og

   SELECT [foo] FROM [bar]


--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste