/ 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
Opdatering af dele af en database
Fra : Carsten Pinderup


Dato : 25-04-02 10:10

Hej NG

Jeg er i vilrede om følgende:

Jeg har en database med blob værdier i. Jeg vil gerne kunne rette de andre
felter ikke blob-vædien.
Kan jeg rette fx to felter uden at skulle hente blob-værdien og lægge den op
igen. Normalt gør jeg som følger:

SQLstmt = "UPDATE DISTINCTROW tabel SET overskrift = '" &
request.form("overskrift") & "', description = '" &
request.form("description") & "' WHERE id = " & Request("id")
SQLstmt = SQLstmt & " VALUES ('" & request.form("overskrift") & "','" &
request.form("description")')

(her uden blob-værdien)

men det giver en fejl:

UPDATE DISTINCTROW tabel SET overskrift = 'SvineINFO uge nr.: 03',
description = '' WHERE id = 3 VALUES ('SvineINFO uge nr.: 03','
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in
query expression 'id = 3 VALUES ('SvineINFO uge nr.: 03',''.
/intern/svin/svineinfo/gem_ret_data.asp, line 32

Så hvad gør jeg, hvis det ikke er hele rækken?

Med venlig hilsen

Carsten Pinderup



 
 
Janus Klok Lauritsen (25-04-2002)
Kommentar
Fra : Janus Klok Lauritsen


Dato : 25-04-02 10:31

Ups Carsten...
Det er vist en meget typisk fejl, for det du gør er at blande INSERT og
UPDATE i SQL sammen.
I UPDATE (som du prøver at lave her) er der ikke en kommando der hedder
VALUES, det er der derimod i INSERT.
Prøv at fjerne dette, så tror jeg du vil se det virker.
Mvh
Janus
"Carsten Pinderup" <cpi@landbonord.dk> wrote in message
news:aa8h7k$h8d$1@sunsite.dk...
> SQLstmt = "UPDATE DISTINCTROW tabel SET overskrift = '" &
> request.form("overskrift") & "', description = '" &
> request.form("description") & "' WHERE id = " & Request("id")
> SQLstmt = SQLstmt & " VALUES ('" & request.form("overskrift") & "','" &
> request.form("description")')



Janus Klok Lauritsen (25-04-2002)
Kommentar
Fra : Janus Klok Lauritsen


Dato : 25-04-02 10:35

Undskyld dobbelt posten, men jeg glemte lige at minde dig om at det er lidt
farligt det du laver her.
Du giver mulighed for SQL injection. Prøv foreksempel at forestille dig hvad
der sker hvis en bruger poster/getter "1 or 0=0" som din variabel id.
Resultat: Alle dine poster i databsen er opdateret.
Løsning: Serverside validering + evt. replace(var, "'","''")
Mvh
Janus

"Janus Klok Lauritsen" <janus@mcb.dk> wrote in message
news:aa8idh$qa5$1@sunsite.dk...
> "Carsten Pinderup" <cpi@landbonord.dk> wrote in message
> news:aa8h7k$h8d$1@sunsite.dk...
> > SQLstmt = "UPDATE DISTINCTROW tabel SET overskrift = '" &
> > request.form("overskrift") & "', description = '" &
> > request.form("description") & "' WHERE id = " & Request("id")



Carsten Pinderup (25-04-2002)
Kommentar
Fra : Carsten Pinderup


Dato : 25-04-02 10:41

Tja...

Det havde jeg faktisk prøvet som det første og så kiksede det åbenbart helt
for mig. Havde jeg læst fejlteksten var jeg ikke stødt ind i problemer og
skulle ikke have generet gruppen - FOR MANDEN KAN IKKE STAVE.....

nu virker alt fint.

Beklager


Med venlig hilsen

Carsten Pinderup

"Janus Klok Lauritsen" <janus@mcb.dk> skrev i en meddelelse
news:aa8idh$qa5$1@sunsite.dk...
> Ups Carsten...
> Det er vist en meget typisk fejl, for det du gør er at blande INSERT og
> UPDATE i SQL sammen.
> I UPDATE (som du prøver at lave her) er der ikke en kommando der hedder
> VALUES, det er der derimod i INSERT.
> Prøv at fjerne dette, så tror jeg du vil se det virker.
> Mvh
> Janus
> "Carsten Pinderup" <cpi@landbonord.dk> wrote in message
> news:aa8h7k$h8d$1@sunsite.dk...
> > SQLstmt = "UPDATE DISTINCTROW tabel SET overskrift = '" &
> > request.form("overskrift") & "', description = '" &
> > request.form("description") & "' WHERE id = " & Request("id")
> > SQLstmt = SQLstmt & " VALUES ('" & request.form("overskrift") & "','" &
> > request.form("description")')
>
>



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

Månedens bedste
Årets bedste
Sidste års bedste