|
| syntaksfejl i INSERT INTO-sætningen Fra : Johannes Veje |
Dato : 03-02-02 20:55 |
|
Microsoft OLE DB Provider for ODBC Drivers fejl '80040e14'
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i INSERT
INTO-sætningen.
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("../databaser/Northwind.mdb")
Conn.Open DSN
'*****
SQLstmt = "INSERT INTO Kunder
(Kunde-ID,Firmanavn,Adresse,Bynavn,Postnummer,Land)"
SQLstmt = SQLstmt & " VALUES ("
SQLstmt = SQLstmt & "'" & ID & "',"
SQLstmt = SQLstmt & "'" & Firmanavn & "',"
SQLstmt = SQLstmt & "'" & Adresse & "',"
SQLstmt = SQLstmt & "'" & Bynavn & "',"
SQLstmt = SQLstmt & "'" & Postnummer & "',"
SQLstmt = SQLstmt & "'" & Land & "'"
SQLstmt = SQLstmt & ")"
**********
Set RS = conn.execute(SQLstmt)
***********
response.write "The record has been added.<p>"
response.write "<a href='kunder4b.asp'>"
response.write "View All Records</a>"
Conn.Close
%>
Hvordan skal jeg ændre i ********* linien for at få det skidt til at virke ?
Nu har jeg brugt hele søndag ;-(
Håber der er en der kan hjælpe mig, på forhånd tak.
mvh
Johs.
| |
Jørn Andersen (03-02-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 03-02-02 21:08 |
|
On Sun, 3 Feb 2002 20:55:08 +0100, "Johannes Veje" <jv@jv-data.dk>
wrote:
>Microsoft OLE DB Provider for ODBC Drivers fejl '80040e14'
>[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i INSERT
>INTO-sætningen.
>
>Set Conn = Server.CreateObject("ADODB.Connection")
>DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
>DSN = DSN & "DBQ=" & Server.MapPath ("../databaser/Northwind.mdb")
>Conn.Open DSN
>'*****
>
>SQLstmt = "INSERT INTO Kunder
>(Kunde-ID,Firmanavn,Adresse,Bynavn,Postnummer,Land)"
>SQLstmt = SQLstmt & " VALUES ("
>SQLstmt = SQLstmt & "'" & ID & "',"
>SQLstmt = SQLstmt & "'" & Firmanavn & "',"
>SQLstmt = SQLstmt & "'" & Adresse & "',"
>SQLstmt = SQLstmt & "'" & Bynavn & "',"
>SQLstmt = SQLstmt & "'" & Postnummer & "',"
>SQLstmt = SQLstmt & "'" & Land & "'"
>SQLstmt = SQLstmt & ")"
xxxx
>**********
>Set RS = conn.execute(SQLstmt)
>***********
<SNIP>
>Hvordan skal jeg ændre i ********* linien for at få det skidt til at virke ?
Det er SQL-strengen, du skal ændre i.
Formentlig er problemet, at du ikke skelner mellem tekst- og
tal-værdier.
Fx er ID formentlig et tal, og så skal der ikke ' (anf.tegn) om den.
Måske gælder det også for postnummer (kig i databasen).
Nogle gange kan det også hjælpe at udskrive SQL-strengen ved at
indsætte:
Response.Write SQLstmt
Response.End
- der hvor jeg har sat xxxx
(Response.End sørger for at SQL'en ikke "eksekveres")
Ved at udskrive den, er det ofte lettere at se, hvad der er galt -
send evt. din SQL-streng her til gruppen, hvis du stadig har
problemer.
Good luck,
Jørn
| |
Johannes Veje (04-02-2002)
| Kommentar Fra : Johannes Veje |
Dato : 04-02-02 15:39 |
|
Jeg HAR stadig problemer
>
> >Hvordan skal jeg ændre i ********* linien for at få det skidt til at
virke ?
>
> Det er SQL-strengen, du skal ændre i.
> Formentlig er problemet, at du ikke skelner mellem tekst- og
> tal-værdier.
> Fx er ID formentlig et tal, og så skal der ikke ' (anf.tegn) om den.
> Måske gælder det også for postnummer (kig i databasen).
alle datadase felter er tekst, men Kunde-ID er indexfelt, kan det have noget
at sige ?
> Nogle gange kan det også hjælpe at udskrive SQL-strengen ved at
> indsætte:
> Response.Write SQLstmt
> Response.End
> - der hvor jeg har sat xxxx
> (Response.End sørger for at SQL'en ikke "eksekveres")
> Ved at udskrive den, er det ofte lettere at se, hvad der er galt -
> send evt. din SQL-streng her til gruppen, hvis du stadig har
> problemer.
>
Her følger resultat af write SQLstmt, mangler der ikke " " omkrig, og hvis
ja, hvordan sætter jeg det ind ?
INSERT INTO Kunder (Kunde-ID,Firmanavn,Adresse,Bynavn,Postnummer,Land)
VALUES ('adsfe','klj','lk','lkj','lk','llkj')
og lige hele asp koden for en god ordens skyld
<%
' we won't require a state
ID = request.form("ID")
Firmanavn = request.form("Firmanavn")
Adresse = request.form("Adresse")
Bynavn = request.form("Bynavn")
Postnummer = request.form("Postnummer")
Land = request.form("Land")
' ok now we've got our data so let's ship it off to the database
' *****Det er disse 4 linier der connecter til netsite
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("../databaser/Northwind.mdb")
Conn.Open DSN
'*****
SQLstmt = "INSERT INTO Kunder
(Kunde-ID,Firmanavn,Adresse,Bynavn,Postnummer,Land)"
SQLstmt = SQLstmt & " VALUES ("
SQLstmt = SQLstmt & "'" & ID & "',"
SQLstmt = SQLstmt & "'" & Firmanavn & "',"
SQLstmt = SQLstmt & "'" & Adresse & "',"
SQLstmt = SQLstmt & "'" & Bynavn & "',"
SQLstmt = SQLstmt & "'" & Postnummer & "',"
SQLstmt = SQLstmt & "'" & Land & "'"
SQLstmt = SQLstmt & ")"
response.write SQLstmt
Set RS = conn.execute(SQLstmt)
response.write "The record has been added.<p>"
response.write "<a href='kunder4b.asp'>"
response.write "View All Records</a>"
Conn.Close
%>
> Good luck,
> Jørn
>
Jatak, det kan jeg godt få brug for
mvh
johs.
| |
Janus Klok Lauritsen (04-02-2002)
| Kommentar Fra : Janus Klok Lauritsen |
Dato : 04-02-02 16:11 |
|
Bare et bud...
Kan det være at det er et problem med - i navnet på din kolonne (Kunde-ID) ?
Ved ikke om det hjælper, men det kan da prøves.
Mvh
Janus
"Johannes Veje" <jv@jv-data.dk> wrote in message
news:a3m6ih$2v0r$1@news.cybercity.dk...
>
> alle datadase felter er tekst, men Kunde-ID er indexfelt, kan det have
noget
> at sige ?
| |
Jørn Andersen (04-02-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 04-02-02 20:01 |
|
On Mon, 4 Feb 2002 15:38:34 +0100, "Johannes Veje" <jv@jv-data.dk>
wrote:
>Jeg HAR stadig problemer
Er det de *samme* problemer - altså syntaks-fejl i SQL'en?
For mig at se ser SQL'en OK ud.
Hvius det er en anden fejl, så lidt flere detaljer, please :)
<SNIP>
>alle datadase felter er tekst, men Kunde-ID er indexfelt, kan det have noget
>at sige ?
Tror jeg ikke.
<SNIP>
>Her følger resultat af write SQLstmt, mangler der ikke " " omkrig, og hvis
>ja, hvordan sætter jeg det ind ?
Nej, der skal ikke være " " omkring i udskriften.
>INSERT INTO Kunder (Kunde-ID,Firmanavn,Adresse,Bynavn,Postnummer,Land)
>VALUES ('adsfe','klj','lk','lkj','lk','llkj')
Hvis det - som Janus foreslår - er et problem med bindestregen i
[Kunde-ID], så sæt firkant-parantes omkring.
<SNIP>
>> Good luck,
>> Jørn
>>
>Jatak, det kan jeg godt få brug for
Jamen, så får du lidt mere:
Good luck,
Jørn
| |
|
|