HEJ!
Detta är faktiskt enkelt, om man tänker efter. Vilket innebär att det tog några år även för mig att lista ut det.
När du kör INSERT, UPDATE, DELETE blir det inget rs, dvs då är set rs = databas.execute(sql) fel och databas.execute(sql) rätt.
Testa kör INSERT, och sedan stänga rs, då ska du få 'Operation is not allowed when the object is closed.'
Använd endast 'Databas.Close: Set Databas=nothing' alltså!
När ska man stänga rs då? När det finns. När finns det? Jo!
När du kör SELECT! Då är 'set rs = databas.execute(sql)' helt rätt, och rs och db-close helt rätt.
Eftersom jag inte vet om den koden du skriver är den du använder nämner bifogar jag lite finurliga funktioner:
Function open_db
Dim databas, rs, dbconn, sql
Set Databas = Server.Createobject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.RecordSet")
dbconn = "driver=SQL Server; server=localhost; Database=aknet;UID=akql;PWD=akPCrM" 'utv
'dbconn = "driver=SQL Server; server=localhost; Database=wcom;UID=aksql;PWD=aWSl" 'live
Databas.Open dbconn
End Function
Function close_rs_db()
RS.close
Set RS=nothing
Databas.Close
Set Databas=nothing
End Function
Function Close_rs(byRef RS)
RS.Close
Set RS = Nothing
End Function
Function Close_db()
databas.Close
Set databas = Nothing
End Function
Detta läggs i lämplig includefil som du säkert redan har db-kopplingen i.
Den första kallas via 'Call open_db' överst i sidan, den 2:a och 4:e via 'Call close_rs_db()' resp 'Call close_db()' om man har standard-rs resp endast en db-koppling.
Den 3:e slutligen använder man till 'Call close_rs(RS3)', dvs den tar det som står inom () och stänger det.
Ang sidräknaren hade jag nog lagt det i en txt-fil istället, dock har du ju en del sidor att hålla reda på = många filer...
I vilket fall tror jag inte det ska påverka databasen.

