Avatar billede steen_hansen Forsker
25. august 2016 - 23:53 Der er 3 kommentarer og
1 løsning

Spørgsmål vedr. UPDATE med WHERE IN

Jeg har ikke rodet med ASP/SQL længe, og har åbenbart kraftigt behov for at få genopfrisket hovedprincippet bag UPDATE ........ WHERE IN(xxxx,yyyy)

Jeg laver udtræk for hhv. Øst og Vest:

Set RSEast = Conn.Execute("SELECT * FROM lbfo WHERE role ='" & "foo" & "' ORDER BY initials ASC")
Set RSWest = Conn.Execute("SELECT * FROM lbfo WHERE role ='" & "fov" & "' ORDER BY initials ASC")

Jeg kører herefter alle brugerne gennem en løkke med formularfelter:

<%
If Not RSEast.EOF Then
    Do Until RSEast.EOF
%>
<div><input type="text" name="initials" id="initials" value="<%=FormatText(RSEast("initials"))%>"></div>

<div><input type="text" name="location1" id="location1" value="<%=FormatText(RSEast("location1"))%>" class="input"></div>

<div class="divDPData"><input type="text" name="location2" id="location2" value="<%=FormatText(RSEast("location2"))%>"></div>

Det fungerer fint. Men så skal jeg til at UPDATE evt. ændringer, og her er det jeg går i stå:

SQL = "UPDATE lbfo SET ....... WHERE IN .......?"
Conn.Execute SQL

Der bliver jo utroligt mange felter, der skal opdateres. Kan det gøres lettere v.hj.a. WHERE IN?
Avatar billede arne_v Ekspert
26. august 2016 - 01:55 #1
Syntaxen er noget a la:

UPDATE tabel SET felt1=val2,felt2=val2,...=val3 WHERE idfelt IN (n1,n2,...)

F.eks.:

UPDATE tabel SET status='Open' WHERE id IN (3,7,39)
Avatar billede arne_v Ekspert
26. august 2016 - 01:56 #2
Nogen gange bruger man:

UPDATE tabel SET felt1=val2,felt2=val2,...=val3 WHERE idfelt IN (SELECT ...)

f.eks.:

UPDATE tabel SET status='Open' WHERE id IN (SELECT id FROM andentabel WHERE hours=0)
Avatar billede softspot Forsker
26. august 2016 - 08:45 #3
Det ser ud til at være forskellige data til hver bruger.

Hvis det er tilfældet, skal du løbe igennem Forms-collection og opdatere hver bruger separat.

Hvis det er samme data for alle brugere, er WHERE IN-metoden helt sikker et godt bud.
Avatar billede steen_hansen Forsker
26. august 2016 - 10:19 #4
Ok, det er forskellige data for hver bruger. Så jeg tror jeg skal lave en manuel form, fremfor at køre det gennem en løkke, ID skal jo gerne være unkt.

Tak for hjælpen, Arne. Du er en stor hjælp :)
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

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