|
| 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
| |
|
|