Đoạn mã sau dùng để làm gì?
<%
id=Request.queryString("ID")
Set rsmenu = Server.CreateObject("ADODB.RecordSet")
sqlmenu="SELECT * FROM MENU where id=" & id
Rsmenu.open sqlmenu, conn,1,3
Rsmenu.delete
Rsmenu.update
Response.redirect "QuanlyMenu.asp"
%>
Đoạn mã sau dùng để làm gì?
<%
id=Request.queryString("ID")
Set rsmenu = Server.CreateObject("ADODB.RecordSet")
sqlmenu="SELECT * FROM MENU where id=" & id
Rsmenu.open sqlmenu, conn,1,3
Rsmenu.delete
Rsmenu.update
Response.redirect "QuanlyMenu.asp"
%>
Trả lời:
Đáp án đúng: A
Đoạn code ASP này thực hiện các bước sau:
1. **Lấy ID từ QueryString:** `id=Request.queryString("ID")` - Đọc giá trị của tham số "ID" từ URL (ví dụ: QuanlyMenu.asp?ID=123) và gán cho biến `id`.
2. **Tạo đối tượng RecordSet:** `Set rsmenu = Server.CreateObject("ADODB.RecordSet")` - Khởi tạo một đối tượng RecordSet để thao tác với dữ liệu.
3. **Tạo câu lệnh SQL:** `sqlmenu="SELECT * FROM MENU where id=" & id` - Xây dựng câu lệnh SQL để chọn bản ghi từ bảng MENU có `id` trùng với giá trị đã lấy ở trên.
4. **Mở RecordSet:** `Rsmenu.open sqlmenu, conn,1,3` - Thực thi câu lệnh SQL và đổ kết quả vào RecordSet. Các tham số `1` và `3` chỉ định loại con trỏ và kiểu khóa (lock) của RecordSet.
5. **Xóa bản ghi:** `Rsmenu.delete` - Xóa bản ghi hiện tại mà RecordSet đang trỏ tới (tức là bản ghi có `id` đã truy vấn).
6. **Cập nhật bản ghi:** `Rsmenu.update` - Thực hiện cập nhật dữ liệu. Tuy nhiên, do lệnh `Rsmenu.delete` đã xóa bản ghi rồi, nên lệnh này sẽ không có tác dụng.
7. **Chuyển hướng:** `Response.redirect "QuanlyMenu.asp"` - Chuyển hướng trình duyệt đến trang "QuanlyMenu.asp".
Như vậy, đoạn code này xóa bản ghi trong bảng `MENU` có `ID` trùng với giá trị được truyền qua QueryString và sau đó chuyển hướng người dùng đến trang `QuanlyMenu.asp`.