Avatar billede donslund Nybegynder
03. september 2001 - 11:51 Der er 16 kommentarer og
1 løsning

Hvad betyder dette???

Hej.

Jeg får en fejl: 80040e14
Microsoft OLE DB Provider for ODBC Drivers fejl \'80040e14\'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.

/indsaet_adr.asp, linje 16


Hvad betyder det?
Avatar billede nute Nybegynder
03. september 2001 - 11:52 #1
det betyr at din INSERT INTO statement ikke er helt som den skal være... vis oss litt kode, så kan vi kanskje hjelpe litt mer...
Avatar billede disky Nybegynder
03. september 2001 - 11:52 #2
at der er fejl i den sql stren.

hvad sender du til serveren ?
Avatar billede alvion Nybegynder
03. september 2001 - 11:53 #3
Det betyder at den INSERT sql-sætning, du har lavet, indeholder fejl.

Prøv at skrive din sql-sætning her
Avatar billede karto Nybegynder
03. september 2001 - 11:53 #4
At mysql serveren ikke forstod din INSERT sætning.

Prøv at få den til at skrive sql sætningen ud på skærmen, og send den her ind, så kan vi lige finde ud af hvorfor den ikke forstod det

/Karto
Avatar billede martin1000ben Nybegynder
03. september 2001 - 13:07 #5
eller printe mysql_error og se hva den siger!
Avatar billede morw Nybegynder
03. september 2001 - 13:33 #6
martin1000ben> Tror ikke du kan bruge mysql_error på en access db i ASP *G*
Avatar billede martin1000ben Nybegynder
04. september 2001 - 00:05 #7
morw ~> Hmmm... nej du har ret... kiggede bare på at det var mysql gruppen! *thats why* ;o)
Avatar billede donslund Nybegynder
04. september 2001 - 08:47 #8
Her er den problematiske SQL-sætning:

strSQL = \"Insert into adresser (id, fornavn, mellemnavn, efternavn, foedenavn, adresse, postnr, by, tlf, mobil, email, foedselsdato, omperson) values(\'\" & Request.Form(\"id\") & \", \" & Request.Form(\"fornavn\") & \", \" & Request.Form(\"mellemnavn\") & \", \" & Request.Form(\"efternavn\") & \",\" & Request.Form(\"foedenavn\") & \", \" & Request.Form(\"adresse\") & \", \" & Request.Form(\"postnr\") & \", \" & Request.Form(\"by\") & \", \" & Request.Form(\"tlf\") & \", \" & Request.Form(\"mobil\") & \", \" & Request.Form(\"email\") & \", \" & Request.Form(\"foedselsdato\") & \", \" & Request.Form(\"omperson\") & \"\')\"

Den er nok lidt lang :-)
Avatar billede disky Nybegynder
04. september 2001 - 08:49 #9
du skulle tage og normalisere din tabel,

f.eks. er der ingen grund til at have både postnummer og bynavn i samme tabel !
Avatar billede karto Nybegynder
04. september 2001 - 08:53 #10
Insert into adresser (
id
, fornavn
, mellemnavn
, efternavn
, foedenavn
, adresse
, postnr
, by
, tlf
, mobil
, email
, foedselsdato
, omperson
) values(
\'\" & Request.Form(\"id\") & \"
, \" & Request.Form(\"fornavn\") & \"
, \" & Request.Form(\"mellemnavn\") & \"
, \" & Request.Form(\"efternavn\") & \"
,\" & Request.Form(\"foedenavn\") & \"
, \" & Request.Form(\"adresse\") & \"
, \" & Request.Form(\"postnr\") & \"
, \" & Request.Form(\"by\") & \"
, \" & Request.Form(\"tlf\") & \"
, \" & Request.Form(\"mobil\") & \"
, \" & Request.Form(\"email\") & \"
, \" & Request.Form(\"foedselsdato\") & \"
, \" & Request.Form(\"omperson\") & \"\'
)\"

Hvorfor har du 1 \"\'\" plinge til at starte med og en til at slutte med, brude det ikke være noget med:
) values(
\" & Request.Form(\"id\") & \"
, \'\" & Request.Form(\"fornavn\") & \"\'
, \'\" & Request.Form(\"mellemnavn\") & \"\'
, \'\" & Request.Form(\"efternavn\") & \"\'
,\'\" & Request.Form(\"foedenavn\") & \"\'
, \'\" & Request.Form(\"adresse\") & \"\'
, \'\" & Request.Form(\"postnr\") & \"\'
, \'\" & Request.Form(\"by\") & \"\'
, \'\" & Request.Form(\"tlf\") & \"\'
, \'\" & Request.Form(\"mobil\") & \"\'
, \'\" & Request.Form(\"email\") & \"\'
, \'\" & Request.Form(\"foedselsdato\") & \"\'
, \'\" & Request.Form(\"omperson\") & \"\'
)\"

Istedet?

/Karto
Avatar billede karto Nybegynder
04. september 2001 - 08:56 #11
Ellers ser det bare ud som om du kun har en value for sql / acces serveren...

derfor smider man \"\'\" plinger om alt tekst, og alle tal, såsom id, skriver man uden \"\'\" plinger.

Du brude måske også lave et eller andet lig. addslashes() i php, hvor du escaper \"\'\", \'\"\' og \"\\\". Ellers kan man lave alle mulige ting ved din db.

/Karto
Avatar billede donslund Nybegynder
11. september 2001 - 09:06 #12
Karto.

Hvordan gør jeg det?
Avatar billede donslund Nybegynder
11. september 2001 - 09:36 #13
Nu har jeg lavet dette, men den er stadigvæk gal.

strSQL = \"Insert into adresser (\"
strSQL = strSQL + \"id\"
strSQL = strSQL + \", fornavn\"
strSQL = strSQL + \", mellemnavn\"
strSQL = strSQL + \", efternavn\"
strSQL = strSQL + \", foedenavn\"
strSQL = strSQL + \", adresse\"
strSQL = strSQL + \", postnr\"
strSQL = strSQL + \", by\"
strSQL = strSQL + \", tlf\"
strSQL = strSQL + \", mobil\"
strSQL = strSQL + \", email\"
strSQL = strSQL + \", foedselsdato\"
strSQL = strSQL + \", omperson\"
strSQL = strSQL + \") values(\"
strSQL = strSQL + \" & Request.Form(\"id\") & \"
strSQL = strSQL + , \'\" & Request.Form(\"fornavn\") & \"\'
strSQL = strSQL + , \'\" & Request.Form(\"mellemnavn\") & \"\'
strSQL = strSQL + , \'\" & Request.Form(\"efternavn\") & \"\'
strSQL = strSQL + ,\'\" & Request.Form(\"foedenavn\") & \"\'
strSQL = strSQL + , \'\" & Request.Form(\"adresse\") & \"\'
strSQL = strSQL + , \'\" & Request.Form(\"postnr\") & \"\'
strSQL = strSQL + , \'\" & Request.Form(\"by\") & \"\'
strSQL = strSQL + , \'\" & Request.Form(\"tlf\") & \"\'
strSQL = strSQL + , \'\" & Request.Form(\"mobil\") & \"\'
strSQL = strSQL + , \'\" & Request.Form(\"email\") & \"\'
strSQL = strSQL + , \'\" & Request.Form(\"foedselsdato\") & \"\'
strSQL = strSQL + , \'\" & Request.Form(\"omperson\") & \"\'
strSQL = strSQL + )\"
Avatar billede karto Nybegynder
12. september 2001 - 18:18 #14
prøv med:

strSQL = \"Insert into adresser (\"
strSQL += \"id\"
strSQL += \", fornavn\"
strSQL += \", mellemnavn\"
strSQL += \", efternavn\"
strSQL += \", foedenavn\"
strSQL += \", adresse\"
strSQL += \", postnr\"
strSQL += \", by\"
strSQL += \", tlf\"
strSQL += \", mobil\"
strSQL += \", email\"
strSQL += \", foedselsdato\"
strSQL += \", omperson\"
strSQL += \") values(\"
strSQL += \" & Request.Form(\"id\") & \"
strSQL += , \"\' & Request.Form(\"fornavn\") & \'\"
strSQL += , \"\' & Request.Form(\"mellemnavn\") & \'\"
strSQL += , \"\' & Request.Form(\"efternavn\") & \'\"
strSQL += ,\"\' & Request.Form(\"foedenavn\") & \'\"
strSQL += , \"\' & Request.Form(\"adresse\") & \'\"
strSQL += , \"\' & Request.Form(\"postnr\") & \'\"
strSQL += , \"\' & Request.Form(\"by\") & \'\"
strSQL += , \"\' & Request.Form(\"tlf\") & \'\"
strSQL += , \"\' & Request.Form(\"mobil\") & \'\"
strSQL += , \"\' & Request.Form(\"email\") & \'\"
strSQL += , \"\' & Request.Form(\"foedselsdato\") & \'\"
strSQL += , \"\' & Request.Form(\"omperson\") & \'\"
strSQL += \")\"

Avatar billede donslund Nybegynder
03. oktober 2001 - 14:36 #15
Så er jeg på banen igen og håber at der stadig er nogen der bærer over med mig.
Lad os antage at kun 1 felt min tabel skal have en oplysning så skriver jeg dette:

<%
\' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"/cgi-bin/adresser.mdb\")
Conn.Open DSN

\' SQL forespørgsel

strSQL = \"Insert into adresser (\'id\') values (\' Request.Form(\'id\') \')\"


\' SQL sætning eksekveres
Conn.Execute(strSQL)

\' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>

Men det virker stadigvæk ikke.
Avatar billede morw Nybegynder
03. oktober 2001 - 14:39 #16
<%
\' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"/cgi-bin/adresser.mdb\")
Conn.Open DSN

\' SQL forespørgsel

strSQL = \"Insert into adresser (id) values (\' Request.Form(\'id\')\')\"


\' SQL sætning eksekveres
Conn.Execute(strSQL)

\' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
Avatar billede donslund Nybegynder
03. oktober 2001 - 14:53 #17
Det giver følgende fejl.

[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket \"\' Request.Form(\'id\')\'\".

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
Computerworld tilbyder specialiserede kurser i database-management

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