Avatar billede okidoky Nybegynder
24. juni 2007 - 15:24 Der er 12 kommentarer

Update flere rækker på en gang

vi siger jeg har 10 rækker i tabel, en colone der hedder aktiv, kun en række må være aktiv = 1 og alle de andre = 0, hvis brugeren trykker at række 5 skal være aktiv så skal den tidligere aktive række blive deaktiv ?
Avatar billede arne_v Ekspert
24. juni 2007 - 16:16 #1
UPDATE tabel SET aktiv=1 WHERE rowno=5
UPDATE tabel SET aktiv=0 WHERE rowno<>5

og put de 2 UPDATE i en enkelt transaction
Avatar billede arne_v Ekspert
24. juni 2007 - 16:16 #2
Du kunne også ændre din tabel struktur så du have en anden tabel med et felt
der angav hvillken række der var aktiv !
Avatar billede okidoky Nybegynder
24. juni 2007 - 16:41 #3
ok Men når f.eks. jeg indsætter en ny række, så skal den være aktiv. hvad skal jeg så skrive ?
Avatar billede arne_v Ekspert
24. juni 2007 - 16:45 #4
så er det vel en INSERT og en UPDATE
Avatar billede okidoky Nybegynder
24. juni 2007 - 16:49 #5
strSQL = "Insert into tblDatabaser (fldOprettet, fldNavn, fldAktiv) VALUES (#" & Pro.fldOpret & "#, '" & Pro.fldNavn & "', '" & Pro.fldAktiv & "' )"

strSQL = "UPDATE tblDatabaser SET fldAktiv=0 WHERE fldID <> " & Pro.fldID & ""

Så updatere den rækkerne kun... den insætter ikke ny række
Avatar billede arne_v Ekspert
24. juni 2007 - 17:05 #6
Hvis du udfører dem begge, så bliver der vel også indsat en række ??
Avatar billede okidoky Nybegynder
24. juni 2007 - 17:06 #7
de bliver udført begge Først insert og så update ....men det er ID'et jeg tror jeg ikke kan få fat i ??? hvordan skal jeg få fat den den inserte id sådan hurtigt?
Avatar billede arne_v Ekspert
24. juni 2007 - 17:15 #8
Er det MS Access ?

Så vil det genererede auto number ligge i @@IDENTITY.
Avatar billede arne_v Ekspert
24. juni 2007 - 17:15 #9
strSQL = "Insert into tblDatabaser (fldOprettet, fldNavn, fldAktiv) VALUES (#" & Pro.fldOpret & "#, '" & Pro.fldNavn & "', '" & Pro.fldAktiv & "' )"

strSQL = "UPDATE tblDatabaser SET fldAktiv=0 WHERE fldID <> @@IDENTITY"
Avatar billede okidoky Nybegynder
24. juni 2007 - 17:20 #10
Exception Details: System.Data.OleDb.OleDbException: Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "fldID <> @@IDENTITY".

hvad kan det være ?
Avatar billede arne_v Ekspert
07. juli 2007 - 04:40 #11
Er det MS Access ?
Avatar billede arne_v Ekspert
07. august 2007 - 22:32 #12
??
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
Kurser inden for grundlæggende programmering

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