Avatar billede sjebber Nybegynder
27. august 2009 - 10:59 Der er 2 kommentarer

Update 2 values i samme tabel

Kære eksperter!
Jeg er faldet over et problem, som jeg lige nu ikke selv er i stand til at løse og jeg havde håbet på lidt hjælp.

Jeg har et produkt, til det produkt er der 3 billeder, 1 af de billeder er skaleret stort fra start og den har en værdi "Billeder.selected = 'True'", fra start af.

Her er opgaven:
De 3 små billeder nedenunder, skal man kunne klikke på og så vil den kører en sql som gør det forrige billede til "selected = 'False'" og det ny-klikket billede til "selected = 'True'".
Nogen der har en måde at gøre det her på?
Avatar billede aaberg Nybegynder
27. august 2009 - 14:20 #1
Er du sikker på at du vil opdatere databasen med en selected værdi!?

Hvis det er en webapp du er ved at lave, vil du jo begrænse antal samtiddige brugere til 1! I stedet kan du tilknytte en selected property til hver billede, som der holdes styr på i hukommelse eller via ViewState/Query-strings.
Avatar billede hrc Mester
27. august 2009 - 16:15 #2
aaberg_cc har en pointe. Men med udgangspunkt i dit scenarium: Ville gerne kunne hitte ud af noget lignende denne stump pseudokode:

update billeder
set selected = cast(ID = :ID) as bit
where produkt_ID = :produkt_ID


hvor :ID er det valgte billede, men det kan jeg ikke.

I stedet vil det her virke:

update billeder set selected = 0 where product_id = x
update billeder set selected = 1 where product_id = x and id = y

Ikke just noget der overbelaster serveren. Nogle gange virker den simple løsning.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester