Avatar billede assassin Juniormester
03. august 2004 - 10:56 Der er 11 kommentarer og
1 løsning

Hjælp til ADO command

Når jeg kører ADOcommand1.execute får jeg følgende fejl:

syntax error in INSERT INTO statement

Min ADOCommand text er som følger

INSERT INTO PERSON(personID, fornavn, efternavn);
VALUES(NewID(), 'Anders', 'Hansen);

Min access database ser ud som følger:
PersonID : text (Primary key)
Fornavn  : text
Efternavn: text

Er der nogen, som kan fortælle mig, hvad jeg gør galt?
Avatar billede assassin Juniormester
03. august 2004 - 11:25 #1
Jeg har fundet ud af at PersonID skal være Number istedet for (Replication ID)
Avatar billede assassin Juniormester
03. august 2004 - 11:25 #2
Men det virker stadig ikke
Avatar billede angelod Novice
03. august 2004 - 11:38 #3
Det er kun et forslag, men har du prøvet at fjerne ihvertfald det første ;? Måske begge to, da jeg ikke mener det er nødvendigt at tage dem med, og hvis det er, så mener jeg kun det skal komme efter hvert statement.
Avatar billede hrc Mester
03. august 2004 - 12:20 #4
Har du prøvet med " i stedet for '?
Avatar billede angelod Novice
03. august 2004 - 12:32 #5
Og så kan jeg også se at du har glemt at afslutte den sidste parameter (Hansen), du får ikke afsluttet den streng, selvom det kan bare være en skrivefejl. :)
Avatar billede assassin Juniormester
03. august 2004 - 14:10 #6
Nu ser min ADOCommand text ud som følger:

INSERT INTO navne
VALUES(NewID(), 'Dennis', 'Skov');

og nu får jeg fejlen: Undefined function 'NewID' in expression.
Avatar billede assassin Juniormester
04. august 2004 - 08:51 #7
Jeg har løst problemet ved at sætte personID til autonummer i accessdatabasen, så nu ser ADOCommand text ud som følger:
INSERT INTO navne(fornavn, efternavn)
VALUES('Dennis', 'Skov');

angelod, hrc - hvis i lægger et svar, kan i få nogle points som tak for hjælpen.
Avatar billede assassin Juniormester
05. august 2004 - 11:01 #8
MEN det virker kun, hvis der kun er en insert sætning,

Hvis der er flere insert, feks.
INSERT INTO navne(fornavn, efternavn)
VALUES('Dennis', 'Skov');
INSERT INTO navne(fornavn, efternavn)
VALUES('Brian', 'Andersen');
Giver følgende fejl: der er tekst efter semikolon

INSERT INTO navne(fornavn, efternavn)
VALUES('Dennis', 'Skov')
INSERT INTO navne(fornavn, efternavn)
VALUES('Brian', 'Andersen');
Giver følgende fejl: der mangler semikolon

Det kan da ikke være rigtigt at man kun kan lave en insert sætning af gangen?
Avatar billede angelod Novice
05. august 2004 - 11:06 #9
Det tror jeg faktisk, jo. Jeg ved det ikke med 100% sikkerhed, men jeg mener ikke at Access understøtter flere queries ad gangen.
Avatar billede assassin Juniormester
05. august 2004 - 11:28 #10
angelod, det lader til at du har ret - Skod

hrc får lige lidt tid til at smide et svar
Avatar billede angelod Novice
05. august 2004 - 11:39 #11
Jeps. Access er okay til små ting, men når det er muligt, foretrækker jeg de lidt større systemer såsom Firebird eller MySQL (hvis der er tale om en server). :)
Avatar billede assassin Juniormester
06. august 2004 - 08:15 #12
Tak for hjælpen og god weekend.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester