/ 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
insert into problem
Fra : Finn


Dato : 24-10-02 08:58

Håber nogen kan pinpointe fejlen i dette
Kilde:

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("data.mdb")
Conn.Open DSN

strSQL = "Insert into T_Husk (note,dato) "
strSQL = strSQL & "values ('" & Request.Form("note") & "', "
strSQL = strSQL & "'" & Request.Form("dato") & "')"
Response.Write(strSQL)


RESULTERER I FEJLEN:
***************************************************
Insert into T_Husk (note,dato) values ('her er teksten', '24-10-2002')
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

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

/Drift-Teknik/Support/hotweb/dagbog.asp, line 27

***************************************************






 
 
Chrisser (24-10-2002)
Kommentar
Fra : Chrisser


Dato : 24-10-02 09:08

"Finn" <trebbienNoMAIL@city.dk> skrev i en meddelelse
news:3db7a80a$0$97648$edfadb0f@dspool01.news.tele.dk...
> Håber nogen kan pinpointe fejlen i dette
> Kilde:
>
> Set Conn = Server.CreateObject("ADODB.Connection")
> DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
> DSN = DSN & "DBQ=" & Server.MapPath("data.mdb")
> Conn.Open DSN
>
> strSQL = "Insert into T_Husk (note,dato) "
> strSQL = strSQL & "values ('" & Request.Form("note") & "', "
> strSQL = strSQL & "'" & Request.Form("dato") & "')"
> Response.Write(strSQL)
>

Hvis dit datofelt er af typen dato og ikke tekst skal du pakke din dato ind
i # frem for pinger
MVH
Chrisser



Finn (24-10-2002)
Kommentar
Fra : Finn


Dato : 24-10-02 09:19


> Hvis dit datofelt er af typen dato og ikke tekst skal du pakke din dato
ind
> i # frem for pinger

Note er et Notat felt mens dato er tekst felt (netop for lige at undgå
probelmet)

Så hvad nu ?



Chrisser (24-10-2002)
Kommentar
Fra : Chrisser


Dato : 24-10-02 09:23

"Finn" <trebbienNoMAIL@city.dk> skrev i en meddelelse
news:3db7ad10$0$28817$edfadb0f@dspool01.news.tele.dk...
>
> > Hvis dit datofelt er af typen dato og ikke tekst skal du pakke din dato
> ind
> > i # frem for pinger
>
> Note er et Notat felt mens dato er tekst felt (netop for lige at undgå
> probelmet)
>
Så ved jeg det ikke lige, jeg arbejder normalt ikke med access.....
Er du sikker på at den bryder sig om dit tabel-navn ?

Ellers må du prøve sql-gruppen, hvis der ikke lige er nogle herinde der har
nogle bedre forslag


Chrisser



Finn (24-10-2002)
Kommentar
Fra : Finn


Dato : 24-10-02 10:03

> Så ved jeg det ikke lige, jeg arbejder normalt ikke med access.....
> Er du sikker på at den bryder sig om dit tabel-navn ?
>
> Ellers må du prøve sql-gruppen, hvis der ikke lige er nogle herinde der
har
> nogle bedre forslag
>
Det mærkelige er at jeg har et tilsvarende asp der virker på en anden tabel
og med flere felter





Finn (24-10-2002)
Kommentar
Fra : Finn


Dato : 24-10-02 10:57

> > > Hvis dit datofelt er af typen dato og ikke tekst skal du pakke din
dato
> > ind
> > > i # frem for pinger
jeg prøver med datofeltet, men hvor skal # sættes i stedet for pinger ?


strSQL = "Insert into T_Dagbog (dato,besked) "


strSQL = strSQL & "values ('" & Request.Form("dato") & "', "
strSQL = strSQL & "'" & Request.Form("besked") & "')"




Chrisser (24-10-2002)
Kommentar
Fra : Chrisser


Dato : 24-10-02 11:31

"Finn" <trebbienNoMAIL@city.dk> skrev i en meddelelse
news:3db7c3fa$0$28831$edfadb0f@dspool01.news.tele.dk...
>
> jeg prøver med datofeltet, men hvor skal # sættes i stedet for pinger ?
>
> strSQL = "Insert into T_Dagbog (dato,besked) "
> strSQL = strSQL & "values ('" & Request.Form("dato") & "', "
> strSQL = strSQL & "'" & Request.Form("besked") & "')"
>
Uden om din dato:
strSQL = "Insert into T_Dagbog (dato,besked) "
strSQL = strSQL & "values (#"& Request.Form("dato") & "#, "
strSQL = strSQL & "'" & Request.Form("besked") & "')"
MVH
Chrisser



Finn (25-10-2002)
Kommentar
Fra : Finn


Dato : 25-10-02 09:45

Tak for det. Jeg prøver det af



Lars Hoffmann (24-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 24-10-02 10:00


"Finn" <trebbienNoMAIL@city.dk> escribió

> strSQL = "Insert into T_Husk (note,dato) "
> strSQL = strSQL & "values ('" & Request.Form("note") & "', "
> strSQL = strSQL & "'" & Request.Form("dato") & "')"

husk at escape pinger som kan introduceres af brugeren:
strSQL = "Insert into T_Husk (note,dato) "
strSQL = strSQL & "values ('" &
replace(Request.Form("note"),"'","''") & "', "
strSQL = strSQL & "'" & replace(Request.Form("dato"),"'","''") &
"')"

Og lad os da se resultatet af din Response.Write(strSQL)



Chrisser (24-10-2002)
Kommentar
Fra : Chrisser


Dato : 24-10-02 10:10


"Lars Hoffmann" <lars@intercambiodvd.com> skrev i en meddelelse
news:ap8cs6$sf585$1@ID-163022.news.dfncis.de...
>
> Og lad os da se resultatet af din Response.Write(strSQL)
>
Resultatet er i det første indlæg

Chrisser



Lars Hoffmann (24-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 24-10-02 10:13


"Chrisser" <cbj@egdatainform.dk> escribió en el mensaje
news:ap8dg7$8k8$1@sunsite.dk...
>
> "Lars Hoffmann" <lars@intercambiodvd.com> skrev i en meddelelse
> news:ap8cs6$sf585$1@ID-163022.news.dfncis.de...
> >
> > Og lad os da se resultatet af din Response.Write(strSQL)
> >
> Resultatet er i det første indlæg

ah ja, nu tror jeg at jeg har set fejlen
Prøv dette:

strSQL = "Insert into T_Husk ([note],[dato]) "
strSQL = strSQL & "values ('" &
replace(Request.Form("note"),"'","''") & "', "
strSQL = strSQL & "'" & replace(Request.Form("dato"),"'","''") &
"')"



Finn (24-10-2002)
Kommentar
Fra : Finn


Dato : 24-10-02 11:17

> Prøv dette:
>
> strSQL = "Insert into T_Husk ([note],[dato]) "
> strSQL = strSQL & "values ('" &
> replace(Request.Form("note"),"'","''") & "', "
> strSQL = strSQL & "'" & replace(Request.Form("dato"),"'","''") &
> "')"
>
Jeg kan se at feltnavne skriver du med [kantet] , men hvorfor replace-delen
?



Lars Hoffmann (24-10-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 24-10-02 12:00

"Finn" <trebbienNoMAIL@city.dk> escribió

> Jeg kan se at feltnavne skriver du med [kantet] , men hvorfor
replace-delen

For at undgå at brugeren kan indtaste SQL.

Forstil dig følgende kode:

SQL = "SELECT * FROM "
SQL = SQL & "USERS WHERE LOGIN ='"
SQL = SQL & request.form("login") & "' "
SQL = SQL & "AND password ='"
SQL = SQL & request.form("password") & "' "

set rs = connectoion.execute(SQL)

if rs.eof then
'ikke logget på
else
'logget på
end if



Hvad ville der sker hvis jeg på denne side indtastede følgende både i
login og password feltet:

blabla' or '1' = '1

Så ville jeg lige pludselig kunne logge på dit system uden at kende
hverken bruger eller password.

Med venlig hilsen
Lars Hoffmann



Søg
Reklame
Statistik
Spørgsmål : 177551
Tips : 31968
Nyheder : 719565
Indlæg : 6408837
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste