I have these three tables [ Orders, order_Items, order_comment ]
| -Orders- | | -Order_Items- | | -Order_comment- |
| order_id | | order_RegCode | | order_id |
| order_RegCode |
As you can see, these three tables related together by 2 unique key! order_id and order_RegCode.
P.s: order_RegCode is not Primary Key and is a String!
i want when i delete any order by order_id, delete all related information that stored in two others tables. But when i using Do While i got error Operation is not allowed when the object is closed.
please guide me.
The Code is:
Dim Order_ID
Order_ID = Int(Request.Form("ID"))
Set Conn = server.createobject("adodb.connection")
Conn.open StrConn
Set Rs = Conn.execute("SELECT * From orders WHERE order_id="& Order_ID &"")
If NOT Rs.EOF then
RegCode = Rs("order_RegCode")
'//== Delete Order
Set Rs = Conn.execute("Delete From orders where order_id = "& orderID &"")
'//== Delete All Comments Belong to Order
Set Rs = Conn.execute("Select * From order_comment where order_id = "& Order_ID &"")
If NOT Rs.EOF then
Do While NOT Rs.EOF
Set Rs = Conn.execute("Delete From order_comment where order_id = "& Order_ID &"")
Rs.MoveNext
Loop
End if
'//== Delete All Items Belong to Order
Set Rs = Conn.execute("Select * From order_items where order_code = '"& RegCode &"'")
If NOT Rs.EOF then
Do While NOT Rs.EOF
Set Rs = Conn.execute("Delete From order_items where order_code = '"& RegCode &"'")
Rs.MoveNext
Loop
End if
End if
You must not use a recordset for action queries. These lines:
Should be:
You cannot use the same object for all recordsets. You will need a recordset for the outer loop and another for the inner loop. However, I suggest: