webForumDet fria alternativet

ändra flera poster samtidigt - hur?

Databaser & SQLur Databashanterare & SQL

3 svar · 232 visningar · startad av magnusfeldth

magnusfeldthMedlem sedan jan. 20034 480 inlägg
#1

Jag håller på och aspkodar ett forum. Nu vill jag göra följande:

- När en huvudtråd byter kategori som den ligger i skall samtliga svar också ändras om till denna kategori.

- När man raderar en huvudtråd vill jag att samtliga svar till tråden tas bort också.

så här ser koden ut nu för när man redigerar ett foruminlägg:

Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("db/hhgsdb.mdb")
	Set RecSet = Server.CreateObject("ADODB.Recordset")
    Uppdatera = "SELECT * FROM foruminlagg WHERE ForumID = " & Request.Form("ad") & " "

   RecSet.Open Uppdatera, Connect, adOpenStatic, adLockOptimistic 
    
	RecSet("Namn") = Request.Form("Namn")
	RecSet("E-post") = Request.Form("E-post")
	RecSet("Rubrik") = Request.Form("Rubrik")
    RecSet("Datum") = Request.Form("Datum")
    RecSet("Text") = Request.Form("Text")    
    RecSet("Forumkategori") = Request.Form("Forumkategori")
    RecSet("Usernamn") = Request.Form("Usernamn")
    RecSet("TradID") = Request.Form("TradID")
    RecSet("Kontrollerad") = Request.Form("Kontrollerad")
	RecSet.Update
	RecSet.Close
	Connect.Close

När kolumnen "TradID" är lika med "0" är det en huvudtråd. Det är då som jag vill att den ändrar kolumnen "forumkategori" till samma forumkategori som huvudtråden har. Alla svar till tråden har sin TradID = huvudtrådens ForumID.

Nån som kan hjälpa mig?

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Dags att lämna vissa delar av ADO bakom sig.

kategori = <något värde>
tradid = <något värde>
sql = "update foruminlagg set forumkategori = " & _
kaetgori & " where tradid = " & tradid
connect.execute sql,,128

where tradid = <

magnusfeldthMedlem sedan jan. 20034 480 inlägg
#3

hur gör jag när jag skall radera alla som har samma "tradid" som inlägget har "forumid" då?

LarsGMedlem sedan dec. 200012 464 inlägg
#4
delete from <tabell> where tradid in (
select tradid from <tabell> where forumid = <forumid>)

Tror jag att du menar.

132 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)