Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Simpelt "put nåed i accessen"

0 views
Skip to first unread message

Lars Jensen

unread,
Jan 4, 2001, 3:29:01 PM1/4/01
to
Hej

Jeg har lidt problemer med at se hvorfor den nedenstående smule kode giver
mig en Syntax Error... men måske jeg har stirret mig blind, jeg plejer ikke
at have problemer med at putte data i en database.....

--------------
dim navn, adresse, post, by, telefon,email, birdato,vip,nyhedsbrev, MyConn,
Sql
navn = request.form("navn")
adresse = request.form("adresse")
post = request.form("post")
by = request.form("by")
telefon = request.form("telefon")
email = request.form("email")
birdato =(
request.form("fdag"))+(request.form("fmd"))+(request.form("faar"))
vip = request.form("vip")
nyhedsbrev = request.form("nyhedsbrev")

Set MyConn = Server.CreateObject("ADODB.Connection")
MyConn.Open "DBQ="& Server.MapPath("medlemmer.mdb") &"; DefaultDir=DBQ="&
Server.MapPath("\") &";Driver={Microsoft Access Driver (*.mdb)};"

Sql="insert into data "
Sql = Sql + "(navn, adresse, post, by, telefon, email, birdato, vip,
nyhedsbrev) "
Sql = Sql + "Values ('" + navn + "', '" + adresse + "', '" + post + "', '"
+ by + "', '" + telefon + "', '" + email + "' , '" + birdato + "', '" + vip
+ "', '" + nyhedsbrev + "')"

Response.Write Sql
MyConn.Execute(Sql)
---------------

Svaret jeg får er :

insert into data (navn, adresse, post, by, telefon, email, birdato, vip,
nyhedsbrev) Values ('knud k', 'hampgade 2', '5500', 'pestved', '75622662',
'kn...@hotmail.dk' , '24121968', 'ON', 'ON')
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

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

/tilmelding2.asp, line 215

Tabellen data i databasen "medlemmer" indeholder de nævnte felter, stavet
korrekt. Det er alle almindelige tekst-felter.

Hvor går det galt for mig???

Lars B

Lauritz Jensen

unread,
Jan 4, 2001, 3:36:44 PM1/4/01
to
Lars Jensen wrote:
>
> insert into data (navn, adresse, post, by, telefon, email, birdato, vip,
> nyhedsbrev) Values ('knud k', 'hampgade 2', '5500', 'pestved', '75622662',
> 'kn...@hotmail.dk' , '24121968', 'ON', 'ON')
> Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
>
> [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO
> statement.
>
> Tabellen data i databasen "medlemmer" indeholder de nævnte felter, stavet
> korrekt. Det er alle almindelige tekst-felter.

- Prøv at sætte [] rundt om "by" (det er da vist et reserveret ord)
(altså "..., post, [by], telefon, ...")
- Prøv også at sætte [] om "data" (det virker også sådan lidt
reserveret?)
- Du burde nok escape værdier inden du sender dem til basen (altså lave
' til '')
- Prøv at klippe den færdige sql ind i en forespørgsel i access, så er
den lidt flinkere til at vise *hvor* der er noget galt

--
Lauritz

Lars Jensen

unread,
Jan 4, 2001, 3:45:21 PM1/4/01
to

"Lauritz Jensen" <laur...@hotmail.com> wrote in message
news:3A54DEDC...@hotmail.com...
> Lars Jensen wrote:

> - Prøv at sætte [] rundt om "by" (det er da vist et reserveret ord altså


"..., post, [by], telefon, ...")
> - Prøv også at sætte [] om "data" (det virker også sådan lidt reserveret?)

Du er satme en knag.... det havde jeg sgu ikke selv fundet ud af... okay,
fremover bruger jeg tyske eller engelske ord til at navngive mine variabler
:))

> - Du burde nok escape værdier inden du sender dem til basen (altså lave '
til '')

Hvis jeg gør det, vil den så ikke prøve at indsætte variabelnavnene i stedet
for indholdet af variablen?

> - Prøv at klippe den færdige sql ind i en forespørgsel i access, så er den
lidt flinkere til at vise *hvor* der er noget galt

Det behøvede jeg ikke engang.... jeg lavede bare de to [], så var den der!

> Lauritz


Lauritz Jensen

unread,
Jan 4, 2001, 3:52:57 PM1/4/01
to
Lars Jensen wrote:
>
> "Lauritz Jensen" <laur...@hotmail.com> wrote in message
> news:3A54DEDC...@hotmail.com...
> >
> > - Du burde nok escape værdier inden du sender dem til basen (altså lave '
> til '')
>
> Hvis jeg gør det, vil den så ikke prøve at indsætte variabelnavnene i stedet
> for indholdet af variablen?

Det kommer an på hvor du gør det :o) Det jeg mente var så'en:

Sql = ""
Sql = Sql & "INSERT INTO data ("
Sql = Sql & "navn, adresse, post, [by], telefon, email, "
Sql = Sql & "birdato, vip, nyhedsbrev"
Sql = Sql & ") VALUES ("
Sql = Sql & "'" & Replace(navn, "'", "''") & "', "
Sql = Sql & "'" & Replace(adresse, "'", "''") & "', "
Sql = Sql & "'" & Replace(post, "'", "''") & "', "
Sql = Sql & "'" & Replace(by, "'", "''") & "', "
Sql = Sql & "'" & Replace(telefon, "'", "''") & "', "
Sql = Sql & "'" & Replace(email, "'", "''") & "' , "
Sql = Sql & "'" & Replace(birdato, "'", "''") & "', "
Sql = Sql & "'" & Replace(vip, "'", "''") & "', "
Sql = Sql & "'" & Replace(nyhedsbrev, "'", "''") & "'"
Sql = Sql & ")"

--
Lauritz

Lars Jensen

unread,
Jan 4, 2001, 4:24:54 PM1/4/01
to
..... trods tilhørsforhold til Telia Stofa, skriver jeg på egne vejne...
hvis ellers?

"Lauritz Jensen" <laur...@hotmail.com> wrote in message
news:3A54E2A9...@hotmail.com...
> Lars Jensen wrote:

> > > - Du burde nok escape værdier inden du sender dem til basen (altså
lave ' til '')

> > Hvis jeg gør det, vil den så ikke prøve at indsætte variabelnavnene i
stedet
> > for indholdet af variablen?

> Det kommer an på hvor du gør det :o) Det jeg mente var så'en:
>

- snip en del kode -
> --
> Lauritz

Ahh... på den fagong... er der noget "uetisk" eller direkte "slemt" ved ikke
at gøre det?

Lars B. Jensen
"Det startede med at han slog igen...."

Lauritz Jensen

unread,
Jan 4, 2001, 4:47:14 PM1/4/01
to
Lars Jensen wrote:
>
> "Lauritz Jensen" <laur...@hotmail.com> wrote in message
> news:3A54E2A9...@hotmail.com...
> >
> >[Du burde nok escape værdier inden du sender dem til basen]

>
> Ahh... på den fagong... er der noget "uetisk" eller direkte "slemt"
> ved ikke at gøre det?

I visse tilfælde kan du åbne op for nogle sikkerhedsproblemer (folk får
angang til at fyre sql af imod basen), så jeg syntes bare det er en gode
vane at tillæge sig.

--
Lauritz

0 new messages