webForumDet fria alternativet

radera poster i flera tabeller samtidigt

ASP

4 svar · 257 visningar · startad av soffan76

Medlem sedan maj 2001684 inlägg
Frågan#1

Hej!

Jag vill radera poster i flera tabeller samtidigt. Är detta enklaste sättet(troligtvis inte)? Nån som har förslag till förbättring?

SQL_Fordon = "SELECT * FROM Fordon WHERE Fordonsnummer = " & Request.Form("Fordonsnummer") & " "
Set rs_Fordon = Server.CreateObject("ADODB.Recordset")
rs_Fordon.Open SQL_Fordon, Conn, 1,2

SQL_Tillbehor = "SELECT * FROM Fordonstillbehor WHERE Fordonsnummer = " & Request.Form("Fordonsnummer") & " "
Set rs_Tillbehor= Server.CreateObject("ADODB.Recordset")
rs_Tillbehor.Open SQL_Forare, Conn, 1,2

SQL_Forare = "SELECT * FROM FordonForare WHERE Fordon = " & Request.Form("Fordonsnummer") & " "
Set rs_Forare = Server.CreateObject("ADODB.Recordset")
rs_Forare.Open SQL_Tillbehor, Conn, 1,2

rs_Fordon.Delete 
rs_Tillbehor.Delete 
rs_Forare.Delete 

rs_Fordon.Close
rs_Tillbehor.Close
rs_Forare.Close
conn.close 
set rs_Fordon = nothing
set rs_Tillbehor = nothing
set rs_Forare = nothing
set conn = nothing

------------------
Sofia

Medlem sedan juni 200032 967 inlägg
#2

Eftersom jag inte vet om Access (jag antar att du använder Access) stödjer flera frågor i samma sql-sträng, så gör vi så här:

SQL_Fordon = "DELETE FROM Fordon WHERE Fordonsnummer = " & Request.Form("Fordonsnummer") 
SQL_Tillbehor = "DELETE FROM Fordonstillbehor WHERE Fordonsnummer = " & Request.Form("Fordonsnummer") 
SQL_Forare = "DELETE FROM FordonForare WHERE Fordon = " & Request.Form("Fordonsnummer") 
conn.execute SQL_Fordon,,128
conn.execute SQL_Tillbehor,,128
conn.execute SQL_Forare,,128

conn.close 
set conn = nothing

Lite kortare kod, flera sparade objekt, mången sparad prestanda i längden.

Mvh,

------------------
All your base are belong to me.

[Redigerat av @nders den 09 nov 2001]

Medlem sedan maj 2001684 inlägg
#3

Tusen tack, fungerar fint. Du är verkligen snabb med kodningen.

------------------
Sofia

Medlem sedan dec. 19998 577 inlägg
#4

Eller varför inte:

strSQL = "DELETE FROM Fordon WHERE Fordonsnummer = " & Request.Form("Fordonsnummer") & ";" &_
"DELETE FROM Fordonstillbehor WHERE Fordonsnummer = " & Request.Form("Fordonsnummer") & ";" &_
"DELETE FROM FordonForare WHERE Fordon = " & Request.Form("Fordonsnummer") 
conn.execute strSQL,,128
conn.close 
set conn = nothing

------------------
Doesn't 'expecting the unexpected' make the unexpected expected?
webeye.nu

Medlem sedan juni 200032 967 inlägg
#5

Eftersom jag inte vet om Access (jag antar att du använder Access) stödjer flera frågor i samma sql-sträng

Man kan alltså göra så i Access?Trevligt, och en bättre lösning.

Mvh

------------------
All your base are belong to me.

253 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)