Thao tác cập nhật một mẩu tin trên cơ sở dữ liệu

Một phần của tài liệu Thiết kế web sử dụng ASP (Trang 129 - 130)

Để cập nhật một cuốn sách trong CSDL, cần phải trao vào mã sách BOOK_ID. Giả sử muốn cập nhật mẩu tin trong table T_BOOK có BOOK_ID=1 với các thông tin: Tên sách là "Thiết kế và lập trình

ứng dụng web bằng ASP", chủđề của sách là Tin học có ID là 1, tác giả là "Lê Đình Duy", nhà xuất bản là Thống kê có ID là 3, năm xuất bản 2001, tập tin ảnh bìa tên là ltwebasp.jpg.

Ta tạo tập tin updatebook.asp như sau: <%@CODEPAGE=65001%>

<%Response.Charset = "utf-8"%> <!--#include file="dbconn.asp"--> <%

' get input data vBookID = 1

vBookTitle = "Thiết kế và lập trình ứng dụng web bằng ASP" vBookCatID = 1

vBookAuthor = "Lê Đình Duy" vBookPubID = 3

vBookYear = 2001 vBookPrice = 16000 vBookPic = "ltwebasp.jpg" ' build SQL statement

strSQL = "UPDATE T_BOOK SET "

strSQL = strSQL & "BOOK_TITLE=" & "'" & vBookTitle & "'" & ", " strSQL = strSQL & "BOOK_CATID=" & vBookCatID & ", "

strSQL = strSQL & "BOOK_AUTHOR=" & "'" & vBookAuthor & "'" & ", "

strSQL = strSQL & "BOOK_PUBID=" & vBookPubID & ", " strSQL = strSQL & "BOOK_YEAR=" & vBookYear & ", " strSQL = strSQL & "BOOK_PRICE=" & vBookPrice & ", " strSQL = strSQL & "BOOK_PIC=" & "'" & vBookPic & "'" strSQL = strSQL & " WHERE BOOK_ID=" & vBookID

Response.Write "Thực hiện thao tác cập nhật với câu lệnh SQL: " & strSQL ' execute SQL statement Conn.Execute strSQL %> <% Conn.Close

Set Conn = NOTHING %>

• Thi hành tập tin updatebook.asp, sau đó thi hành tập tin

listallbook.aspđể xem mẩu tin mới được cập nhật.

• Mở rộng đoạn mã trên bằng cách tạo một form cho phép người dùng hiệu chỉnh các thông tin của cuốn sách có BOOK_ID=1. Sau khi người dùng sửa xong, nhấn nút Submit, các thông tin vừa sửa sẽ được cập nhật lên CSDL. (xem bài giải ở tập tin updatebookform.asp và tập tin

updatebookext.asp).

• Lưu ý rằng, với trang updatebookform.asp chứa form hiển thị các dữ liệu của cuốn sách cần cập nhật thông tin, ta có thể

sử dụng lại form đã dùng trong trang addbookform.asp.

Điểm khác nhau là thêm thuộc tính value cho các control với các giá trị đọc từ CSDL của cuốn sách cần cập nhật.

• Để lưu thông tin BOOK_ID của cuốn sách cần cập nhật trong form của trang updatebookform.asp ta sử dụng một control có type là hidden (<input type="hidden" name="fBOOK_ID" value="<%Response.Write rsBook("BOOK_ID")%>">).

• Trong trang updatebookform.asp ta lấy dữ liệu của fBOOK_ID từ query string bằng cách gõ vào cặp tên control và giá trị tương ứng khi dùng tập tin này. Ví dụ:

http://../updatebookform.asp?fBOOK_ID=1

• Trong trang updatebookext.asp dùng để xử lí các dữ liệu từ

form của trang updatebookform.asp, ta thực hiện tương tự

như trang addbookext.asp. Điểm khác nhau ở chỗ thay câu lệnh INSERT bằng câu lệnh UPDATE.

Tạo một form tìm kiếm sách, cho phép người dùng nhập vào các thông tin như là tên sách, tên tác giả, chủ đề, nhà xuất bản, năm xuất bản. Chương trình sẽ liệt kê các cuốn sách tìm được theo yêu cầu của người dùng. Trong mỗi cuốn sách được liệt kê, tạo một hyperlink sao cho khi nhấn vào đó, chương trình sẽ hiển thị form cập nhật dữ liệu của cuốn sách trên (xem bài giải ở tập tin

searchbookform.asp và tập tin searchbook.asp).

• Trang searchbookform.asp chứa form hiển thị các dữ liệu mà người dùng cần nhập vào để tìm ra cuốn sách cần cập nhật thông tin, ta có thể sử dụng lại form đã dùng trong trang

addbookform.asp. Lưu ý thêm rằng, đối với các dropdown listbox ta cần phải có thêm mục chọn Tất cả (adsbygoogle = window.adsbygoogle || []).push({});

• Để tìm gần đúng các chuỗi 'tin' trong một trường cho trước ví dụ BOOK_TITLE, ta dùng kí tự đại diện %. Ví dụ SELECT * FROM T_BOOK WHERE BOOK_TITLE LIKE '%tin%'

• Trong tập tin searchbook.asp, sau khi hiển thị các kết quả

tìm được theo dạng bảng, ta thêm một hyperlink ngay số thứ

tự của mỗi cuốn sách. Mỗi hyperlink này sẽ chứa địa chỉ của trang cập nhật sách dạng:

updatebookform.asp?fBOOK_ID=<book_id>

Một phần của tài liệu Thiết kế web sử dụng ASP (Trang 129 - 130)