|
| Syntax error in INSERT INTO statement Fra : Anders Lau Mandsholm |
Dato : 13-10-02 11:20 |
|
Jeg får denne syntaks-fejl på SQL-strengen, der ligeledes er skrevet ud i
fejl-meddelelsen:
<start>
INSERT INTO TblCustomer
(CustomerID,Submitted,Password,Company,Name,Firstname,Street,Place,PostalCod
e,Town,Telephone,Cellular,Fax,Website,Email)VALUES ('12345678','13-10-2002
12:12:10','11111111','Firmanavn','Navn','Fornavn','Gade','','1111','By','11
11 11 11','','11 11 11 11',' www.domain.dk','alias@domain.dk')
Microsoft JET Database Engine error '80040e14'
Syntax error in INSERT INTO statement.
<slut>
Hvor er den syntaks-fejl!? Jeg kan ikke se skoven for bare træer og
SQL-strengen er kopieret fra en anden fungerende SQL-streng. Databasen er
Access2002 og CustomerID er nøgle af typen Long Integer, Submitted er af
typen Date/Time og resten er af typen Text.
Jeg har prøvet med ; i slutningen af strengen uden held og jeg har prøvet at
fjerne indsætning af dato-tid i Submitted - også uden held.
/Anders
--
Anders Lau Mandsholm
Stud.merc.(dat.)
www.mandsholm.dk
| |
Jakob Andersen (13-10-2002)
| Kommentar Fra : Jakob Andersen |
Dato : 13-10-02 11:27 |
|
"Anders Lau Mandsholm" <no@spam.com> wrote
> Hvor er den syntaks-fejl!? Jeg kan ikke se skoven for bare træer og
> SQL-strengen er kopieret fra en anden fungerende SQL-streng. Databasen er
> Access2002 og CustomerID er nøgle af typen Long Integer, Submitted er af
> typen Date/Time og resten er af typen Text.
Du skal ikke have enkeltplinger (') uden om tal værdier dvs. dit CustomerID
skal være 12345678 og ikke '12345678'.
--
Jakob Andersen
| |
Anders Lau Mandsholm (13-10-2002)
| Kommentar Fra : Anders Lau Mandsholm |
Dato : 13-10-02 12:37 |
|
> Du skal ikke have enkeltplinger (') uden om tal værdier dvs. dit
CustomerID
> skal være 12345678 og ikke '12345678'.
Det har jeg prøvet, men får stadig fejlen:
INSERT INTO TblCustomer
(CustomerID,Submitted,Password,Company,Name,Firstname,Street,Place,PostalCod
e,Town,Telephone,Cellular,Fax,Website,Email)VALUES (12345678,'13-10-2002
13:32:42','hyl51bop','Mandsholm EDB','Mandsholm','Anders Lau','Ludvig
Holbergs Vej 31, kld.','','8230','Åbyhøj','86 25 56 36','','86 25 56
36',' www.mandsholm.it','lau@mandsholm.it')
Microsoft JET Database Engine error '80040e14'
Syntax error in INSERT INTO statement.
Jeg har ligeledes prøvet at køre begge SQL-strenge (både med og uden '' om
CustomerID) direkte i Access og der virker de fint.
Kunne denne fejl komme, såfremt der ikke er skriveadgang til den mappe, hvor
DBen ligger!? Det burde der være, men man kan jo aldrig vide...
/Anders
--
Anders Lau Mandsholm
Stud.merc.(dat.)
www.mandsholm.dk
| |
Jakob Andersen (13-10-2002)
| Kommentar Fra : Jakob Andersen |
Dato : 13-10-02 12:58 |
|
"Anders Lau Mandsholm" <no@spam.com> wrote
> (CustomerID,Submitted,Password,Company,Name
-------------------------------------------------^^^
Jeg er ikke lige 100% sikker på det men det kan godt være at Name er et
reserveret ord i MS Access, prøv med [Name] istedet.
--
Jakob Andersen
| |
Jørn Andersen (13-10-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 13-10-02 12:59 |
|
On Sun, 13 Oct 2002 13:36:45 +0200, "Anders Lau Mandsholm"
<no@spam.com> wrote:
>> Du skal ikke have enkeltplinger (') uden om tal værdier dvs. dit
>CustomerID
>> skal være 12345678 og ikke '12345678'.
>
>Det har jeg prøvet, men får stadig fejlen:
>
>INSERT INTO TblCustomer
>(CustomerID,Submitted,Password,Company,Name,Firstname,Street,Place,PostalCod
>e,Town,Telephone,Cellular,Fax,Website,Email)VALUES (12345678,'13-10-2002
>13:32:42','hyl51bop','Mandsholm EDB','Mandsholm','Anders Lau','Ludvig
>Holbergs Vej 31, kld.','','8230','Åbyhøj','86 25 56 36','','86 25 56
>36',' www.mandsholm.it','lau@mandsholm.it')
>Microsoft JET Database Engine error '80040e14'
>
>Syntax error in INSERT INTO statement.
Et par muligheder:
Prøv at fjerne kommaet i 'Ludvig Holbergs Vej 31, kld.'
Prøv at indsætte et mellemrum før VALUES
Prøv i det hele taget at have mellemrum efter kommaer og paranteser
Jeg kan ikke huske, om Name er et reserveret ord - prøv at sætte
firkant-paranteser om felt-navne: [Name]
Kig i øvrigt:
<URL: http://www.aspfaq.com/show.asp?id=2400>
>Jeg har ligeledes prøvet at køre begge SQL-strenge (både med og uden '' om
>CustomerID) direkte i Access og der virker de fint.
Men det skal (i ASP) være uden, hvis det er et tal-felt.
Desuden: Hvis Submitted blot skal indeholde tiden Nu, så brug
databasens indbyggede: Now() i stedet for at generere den fra VB
Script. (Har dog formentlig ikke noget med dit problem at gøre ...)
>Kunne denne fejl komme, såfremt der ikke er skriveadgang til den mappe, hvor
>DBen ligger!? Det burde der være, men man kan jo aldrig vide...
Det er jo ret nødvendigt. Hvis det er første gang, du skriver til
databasen, ville jeg helt klart vælge et *meget* simplere udtryk at
teste med - der er simpelthen for mange muligheder for at ting kan gå
galt
--
Jørn Andersen,
Brønshøj
| |
Anders Lau Mandsholm (13-10-2002)
| Kommentar Fra : Anders Lau Mandsholm |
Dato : 13-10-02 14:10 |
|
[cut]
> Jeg kan ikke huske, om Name er et reserveret ord - prøv at sætte
> firkant-paranteser om felt-navne: [Name]
[cut]
> Kig i øvrigt:
> <URL: http://www.aspfaq.com/show.asp?id=2400>
[cut]
> --
> Jørn Andersen,
> Brønshøj
Har fundet ud af det: Password er et reserveret ord - dog ikke officielt,
men ifølge aspfaq.com.
Sikke en masse reserverede ord, der iøvrigt findes!? Kendte ikke aspfaq.com,
men det gør jeg nu...
Name er også reserveret, men [] omkring password gjorde, at det nu virker!?
Tak
/Anders
--
Anders Lau Mandsholm
Stud.merc.(dat.)
www.mandsholm.dk
| |
Flemming Jensen (14-10-2002)
| Kommentar Fra : Flemming Jensen |
Dato : 14-10-02 17:00 |
|
Anders Lau Mandsholm skrev
> Har fundet ud af det: Password er et reserveret ord - dog ikke officielt,
> men ifølge aspfaq.com.
Jeg bruger password i min access database, så jeg synes det lyder mærkelig
at de skulle være reserveret.
__
Flemming Jensen
| |
Jesper Stocholm (14-10-2002)
| Kommentar Fra : Jesper Stocholm |
Dato : 14-10-02 17:21 |
| | |
Jens Gyldenkærne Cla~ (15-10-2002)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 15-10-02 09:45 |
|
Flemming Jensen skrev:
> Jeg bruger password i min access database, så jeg synes det
> lyder mærkelig at de skulle være reserveret.
Access tillader brug af reserverede ord i en database. Jeg har fx
lige lavet tabellen "desc" med felterne: "select", "into", "date",
"by", "order", "order by", "insert", "delete" og "where".
Det fungerer (desværre) fint.
Det er først i det øjeblik man skal skrive SQL til databasen at de
reserverede ord giver problemer. Hvis man (som GUI-værktøjerne til
Access vist gør) altid benytter []-klammer omkring feltnavne, så
giver det ingen problemer. Men skriver man:
SELECT select, into, date
FROM desc
WHERE where = order by
AND date = DATE
ORDER BY order DESC
- så er det et par gode grunde til at det ikke virker .
Mange ting ville være lettere hvis reserverede ord og problematiske
tegn ikke var tilladt i objektnavne.
--
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
| |
Peter Lykkegaard (15-10-2002)
| Kommentar Fra : Peter Lykkegaard |
Dato : 15-10-02 10:44 |
|
Som svar på skriblerier nedfældet af Jens Gyldenkærne Clausen :
> Mange ting ville være lettere hvis reserverede ord og problematiske
> tegn ikke var tilladt i objektnavne.
Det er de per definition heller ikke
Der skal bare lidt interaktion fra programmørens side
Skal man flytte noget fra Access til et andet rdbms så lærer man det på den
hårde måde
mvh/Peter Lykkegaard
| |
Lars Hoffmann (15-10-2002)
| Kommentar Fra : Lars Hoffmann |
Dato : 15-10-02 12:52 |
|
"Jens Gyldenkærne Clausen" <jens@gyros.invalid> escribió
> Access tillader brug af reserverede ord i en database.
Hvad så når feltet hedder [mitfelt] (med "[" som en del af navnet)?
| |
Jens Gyldenkærne Cla~ (15-10-2002)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 15-10-02 10:53 |
|
Peter Lykkegaard skrev:
>> Mange ting ville være lettere hvis reserverede ord og
>> problematiske tegn ikke var tilladt i objektnavne.
>
> Det er de per definition heller ikke
> Der skal bare lidt interaktion fra programmørens side
Såvel Access som MSSQL tillader brug af uhensigtsmæssige feltnavne.
Man kan argumentere for at det er programmørens opgave at vælge en
fornuftige navngivning, men jeg mener at MS gør deres brugere en
bjørnetjeneste ved ikke at forbyde problematiske objektnavne i
selve programmet.
--
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
| |
Peter Lykkegaard (15-10-2002)
| Kommentar Fra : Peter Lykkegaard |
Dato : 15-10-02 11:16 |
|
Som svar på skriblerier nedfældet af Jens Gyldenkærne Clausen :
> Peter Lykkegaard skrev:
>
>>> Mange ting ville være lettere hvis reserverede ord og
>>> problematiske tegn ikke var tilladt i objektnavne.
>>
>> Det er de per definition heller ikke
>> Der skal bare lidt interaktion fra programmørens side
>
> Såvel Access som MSSQL tillader brug af uhensigtsmæssige feltnavne.
Jeg mener at MSSQL ikke er glad for æøå (har ikke prøvet på en ny
tabel/felt)
Upsizing wizard og import værktøjer kløjs i det hvis det er æøå i
tabel-/feltnavnet
Med per definition så mente jeg at det jo ikke kan lade sig gøre uden
workaround med firkantklammer - fx [desc]
>
> Man kan argumentere for at det er programmørens opgave at vælge en
> fornuftige navngivning, men jeg mener at MS gør deres brugere en
> bjørnetjeneste ved ikke at forbyde problematiske objektnavne i
> selve programmet.
Subscribe
mvh/Peter Lykkegaard
| |
Jens Gyldenkærne Cla~ (15-10-2002)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 15-10-02 11:53 |
|
Peter Lykkegaard skrev:
> Jeg mener at MSSQL ikke er glad for æøå (har ikke prøvet på en
> ny tabel/felt)
Oprettet fra EM fungerer det fint (MSSQL 2000).
> Med per definition så mente jeg at det jo ikke kan lade sig
> gøre uden workaround med firkantklammer - fx [desc]
Det er sikkert rigtigt (ikke afprøvet).
--
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
| |
Peter Lykkegaard (15-10-2002)
| Kommentar Fra : Peter Lykkegaard |
Dato : 15-10-02 12:10 |
|
Som svar på skriblerier nedfældet af Jens Gyldenkærne Clausen :
> Peter Lykkegaard skrev:
>
>> Jeg mener at MSSQL ikke er glad for æøå (har ikke prøvet på en
>> ny tabel/felt)
>
> Oprettet fra EM fungerer det fint (MSSQL 2000).
Damn, så er det åbentbart "kun" DTS der kløjs i det - skrammel
Jeg har en database jeg på et tidspunkt skal lægge over på MSSQL, men tiden
har ikke lige været der da jeg har brugt æøå i feltnavnene og det er en
_stuur_ access applikation
Kunne være jeg skal kikke lidt på det igen - ud fra den vinkel - takker
Ideen falder jo nok igen på at DTS stadig vil kløjs i det
mvh/Peter Lykkegaard
| |
Jens Gyldenkærne Cla~ (15-10-2002)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 15-10-02 13:07 |
|
Lars Hoffmann skrev:
>> Access tillader brug af reserverede ord i en database.
>
> Hvad så når feltet hedder [mitfelt] (med "[" som en del af
> navnet)?
Den går ikke. Udråbstegn og punktum kan heller ikke bruges, men
bortset fra de fire tegn ([, ], ., !) er det vist ikke nogen
begrænsninger. Jeg har prøvet med anførselstegn (enkelte og
dobbelte), paranteser ("()" + "{}"), #, komma, \, ;, |, %, $, * og
@ - alle virker fint.
--
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
| |
|
|