Avatar billede babyworm Nybegynder
12. juli 2004 - 22:17 Der er 7 kommentarer og
1 løsning

Slette fra database

Hejsa...


Jeg har et problem...

Jeg har to tabeller i min database:

Users og Log

i min users har jeg en felt der hedder group.

Jeg har så lavet en deletefil som burde gøre sådan:

den skal tage alle de userid fra users hvor group er lig med det requestede.

Så skal den slette i log alt hvor userid er lig med dem vi hentede i den forige sætning

Så skal den slette i users alle de felter hvor userid er lig med de første userid vi fandt.


hvordan gør man det?

Har lavet denne sætning, men den sletter kun et userid af gangen..


<!-- #include file="conn.asp" -->
<!-- #include file="protect.inc" -->
<%

openConn()

strGroupid        = Request.querystring("id")

strSQL = "SELECT Userid From Users WHERE [Group]=" & strGroupid
Set rs = connection.Execute(strSQL)
'Response.Write(strSQL)

strUserid    = rs("userid")

do while NOT rs.EOF
strSQL1 = "Delete from log WHERE Userid=" & strUserid
Set rs1 = connection.Execute(strSQL1)

strSQL2 = "Delete from Users WHERE Userid=" & strUserid
Set rs2 = connection.Execute(strSQL2)
rs.MoveNext
Loop

closeConn()

response.redirect "overview.asp?cache=" & timer
%>
Avatar billede erikjacobsen Ekspert
12. juli 2004 - 22:21 #1
do while NOT rs.EOF
strUserid    = rs("userid")
Avatar billede babyworm Nybegynder
12. juli 2004 - 22:24 #2
Thanks... ligger du et svar :P
Avatar billede erikjacobsen Ekspert
12. juli 2004 - 22:26 #3
Nej tak, jeg samler slet ikke på point.
Avatar billede barkov Nybegynder
12. juli 2004 - 22:27 #4
Du skal ikke bruge recordset's når du sletter records fra en tabel.

Så den skal ligne noget i stil med:

<!-- #include file="conn.asp" -->
<!-- #include file="protect.inc" -->
<%

openConn()

strGroupid        = Request.querystring("id")

strSQL = "SELECT Userid From Users WHERE [Group]=" & strGroupid
Set rs = connection.Execute(strSQL)
'Response.Write(strSQL)

do until rs.EOF
strUserid    = rs("userid")

strSQL1 = "Delete from log WHERE Userid=" & strUserid
strSQL2 = "Delete from Users WHERE Userid=" & strUserid

connection.Execute strSQL1
connection.Execute strSQL2

rs.MoveNext
Loop

closeConn()

response.redirect "overview.asp?cache=" & timer
%>
Avatar billede barkov Nybegynder
12. juli 2004 - 22:28 #5
så blev koden også optimeret :)
Avatar billede babyworm Nybegynder
12. juli 2004 - 22:33 #6
Det andet virker også.. :)
Avatar billede barkov Nybegynder
13. juli 2004 - 11:14 #7
ja, men min kode er bare optimeret den og fjernet de 2 ekstra recordsets som du oprettede.
Avatar billede babyworm Nybegynder
13. juli 2004 - 11:48 #8
:) oki... hehe... :P
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