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

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

Månedens bedste
Årets bedste
Sidste års bedste