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

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
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



Søg
Reklame
Statistik
Spørgsmål : 177551
Tips : 31968
Nyheder : 719565
Indlæg : 6408843
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste