|
| Problem med update Fra : Michael Jakobsen |
Dato : 28-06-01 12:54 |
|
Jeg har et lille problem med update.
Problemet er, at jeg gerne have skiftet "foto1" ud med noget jeg
requester fra en anden side, men kan det overhovedet lade sig gøre ?
Jeg kan godt udskrive den requestede streng, så den kommer godt nok
med over:
fotonavn=request.querystring("name")
response.write fotonavn
men kan jeg indsætte fotonavn istedet for foto1 i følgende update:
("UPDATE tabel SET foto1 ='"&billednavn&"' where
id="&request.querystring("id")&"")
/Goose
--
<URL:mailto:webmaster@goose.dk>
<URL: http://www.goose.dk>
| |
Jesper Stocholm (28-06-2001)
| Kommentar Fra : Jesper Stocholm |
Dato : 28-06-01 13:03 |
|
Michael Jakobsen <admin@goose.dk> wrote in
news:bb6mjtg4vq0il3b93ih5j7vbngte097cfj@4ax.com:
> men kan jeg inds‘tte fotonavn istedet for foto1 i f›lgende update:
>
> ("UPDATE tabel SET foto1 ='"&billednavn&"' where
> id="&request.querystring("id")&"")
ja - givet at dit id er et tal, så burde det virke uden problemer. Du
skriver ikke hvordan du forbinder til databasen, men følgende skulle virke.
dim str_sql, fotonavn, id
fotonavn = request.querystring("name")
id = request.querystring("id")
str_sql = "UPDATE tabel SET foto1 = '" & fotonavn & "' WHERE id = " & id
objCon.Execute(sql1)
.... med mindre det du vil er at ændre navn på en kolonne ?
--
I wrote to George W. Bush - see why at
http://stocholm.dk/emailgeorgewbush.asp
- Jesper Stocholm - http://stocholm.dk
| |
Michael Jakobsen (28-06-2001)
| Kommentar Fra : Michael Jakobsen |
Dato : 28-06-01 13:14 |
|
On Thu, 28 Jun 2001 12:02:38 +0000 (UTC), Jesper Stocholm
<spam@stocholm.dk> wrote:
>str_sql = "UPDATE tabel SET foto1 = '" & fotonavn & "' WHERE id = " & id
>objCon.Execute(sql1)
>... med mindre det du vil er at ændre navn på en kolonne ?
Det er min request.querystring("name") der skal sættes ind hvor der
står foto1, således at foto1 ikke er en fast variabel men afhænger af
min request streng, men jeg kan ikke få det til at virke ?
/Goose
--
<URL:mailto:webmaster@goose.dk>
<URL: http://www.goose.dk>
| |
Jesper Stocholm (28-06-2001)
| Kommentar Fra : Jesper Stocholm |
Dato : 28-06-01 14:50 |
|
Michael Jakobsen <admin@goose.dk> wrote in
news:3m7mjt87p7de1atc0dvkcslf2nc9al593n@4ax.com:
> On Thu, 28 Jun 2001 12:02:38 +0000 (UTC), Jesper Stocholm
> <spam@stocholm.dk> wrote:
>
>>str_sql = "UPDATE tabel SET foto1 = '" & fotonavn & "' WHERE id = " & id
>>objCon.Execute(sql1) ... med mindre det du vil er at ændre navn på en
>>kolonne ?
> Det er min request.querystring("name") der skal sættes ind hvor der
> står foto1, således at foto1 ikke er en fast variabel men afhænger af
> min request streng, men jeg kan ikke få det til at virke ?
>
dim str_sql, str_fieldname, int_id
str_fieldname = request.querystring("name")
int_id = request.querystring("id")
str_sql = "UPDATE table SET " & str_fieldname & "= " & some_variable & "
WHERE id = " & int_id
Du skal huske på, at du blot skal sammensætte en korrekt SQL-streng inden
den fyres af imod databasen. Hvordan den er sammensat er ADO ligeglad med.
--
I wrote to George W. Bush - see why at
http://stocholm.dk/emailgeorgewbush.asp
- Jesper Stocholm - http://stocholm.dk
| |
Michael Jakobsen (28-06-2001)
| Kommentar Fra : Michael Jakobsen |
Dato : 28-06-01 15:31 |
|
On Thu, 28 Jun 2001 13:49:33 +0000 (UTC), Jesper Stocholm
<spam@stocholm.dk> wrote:
>str_sql = "UPDATE table SET " & str_fieldname & "= " & some_variable & "
>WHERE id = " & int_id
Min streng er nu følgende:
("UPDATE tabel SET" &fotonavn&" ='"&billednavn&"' where
id="&request.querystring("id")&"")
Men så får jeg blot en fejl der på:
Syntax error in UPDATE statement ?
/Goose
--
<URL:mailto:webmaster@goose.dk>
<URL: http://www.goose.dk>
| |
Lars Hoffmann (28-06-2001)
| Kommentar Fra : Lars Hoffmann |
Dato : 28-06-01 16:04 |
|
Michael Jakobsen wrote in dk.edb.internet.webdesign.serverside.asp:
> ("UPDATE tabel SET" &fotonavn&" ='"&billednavn&"' where
> id="&request.querystring("id")&"")
Hvad indeholder variablen fotonavn? Hvad skal du med de yderste paranteser?
Hedder din table virkelig bare "table" proev dette istedet:
"Update table SET fotonavn='" & billednavn & "'WHERE id= &
request.Querystring("id") & ";"
Med venlig hilsen
Lars Hoffmann
--
Brug Validator service: http://www.html.dk/validator
- Tast din URL én gang, og validér dokumentet hos 12 validatorer
- Understøtter HTML, CSS og søgemaskineoptimering
| |
lars Hoffmann (28-06-2001)
| Kommentar Fra : lars Hoffmann |
Dato : 28-06-01 16:06 |
|
Lars Hoffmann wrote in dk.edb.internet.webdesign.serverside.asp:
> "Update table SET fotonavn='" & billednavn & "'WHERE id= &
> request.Querystring("id") & ";"
og der mangler lige et mellemrum foer WHERE, beklager.
Med venlig hilsen
Lars
--
Brug Validator service: http://www.html.dk/validator
- Tast din URL én gang, og validér dokumentet hos 12 validatorer
- Understøtter HTML, CSS og søgemaskineoptimering
| |
Jesper Stocholm (28-06-2001)
| Kommentar Fra : Jesper Stocholm |
Dato : 28-06-01 16:24 |
|
Lars Hoffmann <lars@hoffmann.ac> wrote in news:9hfh1o$nto$1@sunsite.dk:
> Michael Jakobsen wrote in dk.edb.internet.webdesign.serverside.asp:
>
>> ("UPDATE tabel SET" &fotonavn&" ='"&billednavn&"' where
>> id="&request.querystring("id")&"")
>
> Hvad indeholder variablen fotonavn? Hvad skal du med de yderste
> paranteser? Hedder din table virkelig bare "table" proev dette istedet:
>
> "Update table SET fotonavn='" & billednavn & "'WHERE id= &
> request.Querystring("id") & ";"
>
som jeg forstår Michael, så er det felt-navnet, der skal være dynamisk - så
det bør vel være:
"Update table SET " & fotonavn & "='" & billednavn & "' WHERE id= &
request.Querystring("id")
- hvor fotonavn er variablen, der hentes fra querystring
Og til Michael:
Prøv efter erklæring af din sql-sætning at udskrive den med response.write
og skriv til os resultatet. Så kan vi sikkert se, hvad der er galt. Ellers
giv os lidt mere kode at lege med - fx med din initialisering af dit
connection-object - med indikation af, hvilken linie i dit script, der
forårsager fejlen
--
I wrote to George W. Bush - see why at
http://stocholm.dk/emailgeorgewbush.asp
- Jesper Stocholm - http://stocholm.dk
| |
Lars Hoffmann (28-06-2001)
| Kommentar Fra : Lars Hoffmann |
Dato : 28-06-01 16:38 |
|
Jesper Stocholm wrote in dk.edb.internet.webdesign.serverside.asp:
> som jeg forstår Michael, så er det felt-navnet, der skal være dynamisk
hmm, meget maerkelig firma!
--
Brug Validator service: http://www.html.dk/validator
- Tast din URL én gang, og validér dokumentet hos 12 validatorer
- Understøtter HTML, CSS og søgemaskineoptimering
| |
Michael Jakobsen (28-06-2001)
| Kommentar Fra : Michael Jakobsen |
Dato : 28-06-01 16:39 |
|
On Thu, 28 Jun 2001 15:04:24 +0000 (UTC), Lars Hoffmann
<lars@hoffmann.ac> wrote:
>Hvad indeholder variablen fotonavn? Hvad skal du med de yderste paranteser?
>Hedder din table virkelig bare "table" proev dette istedet:
Min streng ser sådan her ud:
'tilføj billednavn til database
fotonavn=request.querystring("name")
billednavn=File.ExtractFileName
set tsretfoto = server.createobject("ADODB.Connection")
tsretfoto.open strfoto
tsretfoto.execute("UPDATE tabel SET foto1='"&billednavn&"' where
id="&request.querystring("id")&"")
tsretfoto.close
set tsretfoto=nothing
- og den virker.
foto1 er navnet på en kolonne i min tabel, men jeg vil gerne at jeg
kan bruge den samme fil uanset hvilket foto jeg ønsker at rette,
foto1,foto2 eller foto3 og derfor ville jeg udskifte det nuværende
foto1 i min update linie med fotonavn.
Alternativt skal jeg jo lave 3 filer afhængigt af hvilet foto det er
jeg ønsker at udskifte.
Dit forslag virkede for øvrigt ikke :(
/Goose
--
<URL:mailto:webmaster@goose.dk>
<URL: http://www.goose.dk>
| |
Lars Hoffmann (28-06-2001)
| Kommentar Fra : Lars Hoffmann |
Dato : 28-06-01 16:55 |
|
Michael Jakobsen wrote in dk.edb.internet.webdesign.serverside.asp:
> foto1 er navnet på en kolonne i min tabel, men jeg vil gerne at jeg
> kan bruge den samme fil uanset hvilket foto jeg ønsker at rette,
> foto1,foto2 eller foto3 og derfor ville jeg udskifte det nuværende
> foto1 i min update linie med fotonavn.
> Alternativt skal jeg jo lave 3 filer afhængigt af hvilet foto det er
> jeg ønsker at udskifte.
Nej du skal ikke, men du kan lave lidt om paa din struktur i din database, hvad
med at indsaette et felt der hedder noget i stil med fotonummer, og saa give
det vaerdien 1, 2 eller tre alt hviket foto der er tale om?
> Dit forslag virkede for øvrigt ikke :(
Det er ogsaa lidt svaert at gaette hvilke felter din DB indeholder (eller ogsaa
er det bare mig der er tungnem), men jeg tror jeg har fattet det nogenlunde nu
Med venlig hilsen
Lars Hoffmann
--
Brug Validator service: http://www.html.dk/validator
- Tast din URL én gang, og validér dokumentet hos 12 validatorer
- Understøtter HTML, CSS og søgemaskineoptimering
| |
Michael Jakobsen (28-06-2001)
| Kommentar Fra : Michael Jakobsen |
Dato : 28-06-01 18:03 |
|
On Thu, 28 Jun 2001 15:55:04 +0000 (UTC), Lars Hoffmann
<lars@hoffmann.ac> wrote:
>Nej du skal ikke, men du kan lave lidt om paa din struktur i din database, hvad
>med at indsaette et felt der hedder noget i stil med fotonummer, og saa give
>det vaerdien 1, 2 eller tre alt hviket foto der er tale om?
Hmm, det tror jeg ikke er den rigtige løsning.
Det der er tale om, er at jeg uploader op til 3 fotos til serveren, og
smider filnavnet i databasen, dvs at hvert ID kan indeholde op til 3
fotos, og derfor har jeg lavet 3 kolonner, en til hvert foto.
Min idé var så, at der skulle være mulighed for, at skifte ét af
billederne, og derfor sender jeg navnet på kolonnen med når jeg vælger
et nyt foto.
Dette kolonnenavn bruger jeg så i min update.
Jeg vil meget gerne høre hvordan jeg ellers skulle strukturere min
database ?
>Det er ogsaa lidt svaert at gaette hvilke felter din DB indeholder (eller ogsaa
>er det bare mig der er tungnem), men jeg tror jeg har fattet det nogenlunde nu
Jeg tror ikke på du er tungnem, det er nok nærmere mig der har svært
ved at udtrykke mig rigtigt :)
Jeg indrømmer gerne at jeg er newbie inden for ASP, men jeg lærer mest
ved at prøve mig frem, og når jeg så går i baglås er i heldigvis alle
sammen villige til at komme med løsningsforslag.
/Goose
--
<URL:mailto:webmaster@goose.dk>
<URL: http://www.goose.dk>
| |
Lars Hoffmann (28-06-2001)
| Kommentar Fra : Lars Hoffmann |
Dato : 28-06-01 18:27 |
|
Michael Jakobsen wrote in dk.edb.internet.webdesign.serverside.asp:
> Hmm, det tror jeg ikke er den rigtige løsning.
> Det der er tale om, er at jeg uploader op til 3 fotos til serveren, og
> smider filnavnet i databasen, dvs at hvert ID kan indeholde op til 3
> fotos, og derfor har jeg lavet 3 kolonner, en til hvert foto.
Ok, jeg troede blot at det var enten et foto1, et foto2 eller foto3, ikke at det
kunne vaere flere af dem paa en gang. Saa du har fuldstaendig ret, der skal 3
felter til.
> Jeg indrømmer gerne at jeg er newbie inden for ASP, men jeg lærer mest
> ved at prøve mig frem, og når jeg så går i baglås er i heldigvis alle
> sammen villige til at komme med løsningsforslag.
Det er ogsaa klart den bedste maade at laere det paa, det ser da ogsaa ud til at du
har fat i den lange ende.
Med venlig hilsen
Lars Hoffmann
--
Brug Validator service: http://www.html.dk/validator
- Tast din URL én gang, og validér dokumentet hos 12 validatorer
- Understøtter HTML, CSS og søgemaskineoptimering
| |
Jakob Møbjerg Nielse~ (28-06-2001)
| Kommentar Fra : Jakob Møbjerg Nielse~ |
Dato : 28-06-01 16:30 |
|
> ("UPDATE tabel SET" &fotonavn&" ='"&billednavn&"' where
> id="&request.querystring("id")&"")
>
> Men så får jeg blot en fejl der på:
> Syntax error in UPDATE statement ?
Du mangler et mellemrum efter SET:
sql = "UPDATE tabel SET " &fotonavn& " = '" &billednavn& "' where id
= " & request.querystring("id")
--
Jakob Møbjerg Nielsen
jakob@dataloger.dk
"Hey, he reminds me of someone who looks just like him!" - Me
| |
Jakob Møbjerg Nielse~ (28-06-2001)
| Kommentar Fra : Jakob Møbjerg Nielse~ |
Dato : 28-06-01 16:35 |
|
> sql = "UPDATE tabel SET " &fotonavn& " = '" &billednavn& "' where
> id = " & request.querystring("id")
Og når du gør det på denne måde er det sikkert også ønskelig med
error handling. Så lige før sql'en bliver udført skriver du
on error resume next
og lige efter skriver du:
if Err.number = 0 then
response.write "Gooood user"
else
response.write "BAD user"
end if
--
Jakob Møbjerg Nielsen
jakob@dataloger.dk
"Hey, he reminds me of someone who looks just like him!" - Me
| |
Michael Jakobsen (28-06-2001)
| Kommentar Fra : Michael Jakobsen |
Dato : 28-06-01 16:55 |
|
On Thu, 28 Jun 2001 17:30:16 +0200, "Jakob Møbjerg Nielsen"
<jakob@dataloger.dk> wrote:
>Du mangler et mellemrum efter SET:
Tak for det, så lykkedes det.
Tak skal der også lyde til Jesper og Lars.
/Goose
--
<URL:mailto:webmaster@goose.dk>
<URL: http://www.goose.dk>
| |
|
|