|
| Simpelt "put nåed i accessen" Fra : Lars Jensen |
Dato : 04-01-01 21:29 |
|
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',
'knud@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 (04-01-2001)
| Kommentar Fra : Lauritz Jensen |
Dato : 04-01-01 21:37 |
|
Lars Jensen wrote:
>
> insert into data (navn, adresse, post, by, telefon, email, birdato, vip,
> nyhedsbrev) Values ('knud k', 'hampgade 2', '5500', 'pestved', '75622662',
> 'knud@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
| |
N/A (04-01-2001)
| Kommentar Fra : N/A |
Dato : 04-01-01 21:53 |
|
| |
Lauritz Jensen (04-01-2001)
| Kommentar Fra : Lauritz Jensen |
Dato : 04-01-01 21:53 |
|
Lars Jensen wrote:
>
> "Lauritz Jensen" <lauritz2@hotmail.com> wrote in message
> news:3A54DEDC.EE00B60A@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 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 (04-01-2001)
| Kommentar Fra : Lars Jensen |
Dato : 04-01-01 22:25 |
|
...... trods tilhørsforhold til Telia Stofa, skriver jeg på egne vejne...
hvis ellers?
"Lauritz Jensen" <lauritz2@hotmail.com> wrote in message
news:3A54E2A9.66AEF715@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 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 (04-01-2001)
| Kommentar Fra : Lauritz Jensen |
Dato : 04-01-01 22:47 |
|
Lars Jensen wrote:
>
> "Lauritz Jensen" <lauritz2@hotmail.com> wrote in message
> news:3A54E2A9.66AEF715@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
| |
|
|