/ 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
Fejlmeddelelse
Fra : Jacob Jensen


Dato : 26-11-01 15:31

Da jeg tidligere har fået god hjælp i denne nyhedsgruppe, forsøger jeg mig
lige endnu engang.
Jeg er i gang med at opbygge en internetbutik, og jeg benytter mig til dette
formål af det butikseksempel, der er at finde i bogen Active server pages -
dynamiske web-sider.
Mit problem er, at jeg får en fejlmeddelelse, når jeg afsender en ordre i
butikken. Fejlmeddelelsen lyder som følger :

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO
statement.
/Butik/modtag.asp, line 73


Modtag .asp linie 73 ses i koden herunder(Linie 73 = con.execute(sql); ).

sql = "INSERT INTO kunde (Navn, Adresse, Postnummer, By, Email, Kodeord)
VALUES (";
sql += "'" + Request.Form("Navn") + "', ";
sql += "'" + Request.Form("Adresse") + ", ";
sql += "'" + Request.Form("Postnummer") + ", ";
sql += "'" + Request.Form("By") + "', ";
sql += "'" + Request.Form("Email") + "', ";
sql += "'" + Request.Form("Kodeord") + "')";

con.execute(sql);

Jeg kan ikke selv lige gennemskue, hvor fejlen ligger(jeg er nybegynder
indenfor ASP og Access). Er der nogen derude, der har et bud på, hvad der er
galt???

Mvh. Jacob








 
 
Jørn Andersen (26-11-2001)
Kommentar
Fra : Jørn Andersen


Dato : 26-11-01 18:23

On Mon, 26 Nov 2001 15:31:20 +0100, "Jacob Jensen"
<jacob-jensen@get2net.dk> wrote:

Hej Jacob,

>Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
>[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO
>statement.
>/Butik/modtag.asp, line 73
>
>
>Modtag .asp linie 73 ses i koden herunder(Linie 73 = con.execute(sql); ).
>
>sql = "INSERT INTO kunde (Navn, Adresse, Postnummer, By, Email, Kodeord)
>VALUES (";
> sql += "'" + Request.Form("Navn") + "', ";
> sql += "'" + Request.Form("Adresse") + ", ";
> sql += "'" + Request.Form("Postnummer") + ", ";
> sql += "'" + Request.Form("By") + "', ";
> sql += "'" + Request.Form("Email") + "', ";
> sql += "'" + Request.Form("Kodeord") + "')";
>
> con.execute(sql);
>
>Jeg kan ikke selv lige gennemskue, hvor fejlen ligger(jeg er nybegynder
>indenfor ASP og Access). Er der nogen derude, der har et bud på, hvad der er
>galt???

Nu er jeg ikke ret dus med JavaScript, men medmindre det er
JavaScript-specifikt, at der skal være ";" i slutningen af hver linie,
er det en fejl.

Men da du givetvis får den slags fejl mange gange i fremtiden, så kan
du lige så godt med det samme lære en *metode* til at fange dem:
Indsæt en udskriv-linie, før du eksekverer SQL'en.

I VB Script vil det se således ud:
sql = "blabla"
Response.Write sql
Response.End
- hvorefter den fortsætter med:
con.execute(sql)

På den måde får du udskrevet din SQL, og det er tit ret nemt at se,
hvad der er galt.
Noget andet du kan gøre er at udskrive dine variable for at se, om de
holder den værdi, du forventer.

Efterhånden vil du sikkert også foretrække *ikke* at sætte dine
Request.Form direkte ind i SQL'en, men i stedet fange dem i en
variabel, hvor du så kan foretage noget kontrol på, at der er skrevet
gyldige værdier i formularen - så fanger du fejlene, inden SQL'en.

PS: Sæt i øvrigt lige firkant-parantes om det første [By], da "by" er
et reserveret ord.


Good luck,
Jørn

--
Jørn Andersen
Brønshøj

Jonathan Stein (26-11-2001)
Kommentar
Fra : Jonathan Stein


Dato : 26-11-01 23:06

"Jørn Andersen" wrote:

> Nu er jeg ikke ret dus med JavaScript, men medmindre det er
> JavaScript-specifikt, at der skal være ";" i slutningen af hver linie,
> er det en fejl.

Det er ikke JavaScript-specifikt og det er heller ikke en fejl - semikolon
efter hver sætning (næsten det samme som hver linje) er meget udbredt, og
VB/VBscript er nærmere undtagelser, fordi de _ikke_ bruger det...

M.v.h.

Jonathan

--
Start med PHP, Perl eller JSP uden at omskrive al din gamle ASP-kode.
jsp-hotel.dk tilbyder nu Chili!Soft ASP på alle hoteller.
http://www.jsp-hotel.dk/




Jørn Andersen (27-11-2001)
Kommentar
Fra : Jørn Andersen


Dato : 27-11-01 10:37

On Mon, 26 Nov 2001 23:05:38 +0100, Jonathan Stein <jstein@image.dk>
wrote:

>> Nu er jeg ikke ret dus med JavaScript, men medmindre det er
>> JavaScript-specifikt, at der skal være ";" i slutningen af hver linie,
>> er det en fejl.
>
> Det er ikke JavaScript-specifikt og det er heller ikke en fejl - semikolon
>efter hver sætning (næsten det samme som hver linje) er meget udbredt, og
>VB/VBscript er nærmere undtagelser, fordi de _ikke_ bruger det...

Tak, så blev jeg så klog ...

Mvh. Jørn

--
Jørn Andersen
Brønshøj

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste