24/05/2018, 21:08

Kết nối và thao tác với CSDL trong ASP

- Tạo đối tượng Connection và Recordset sử dụng phương thức Server.CreateObject - Kết nối đến CSDL - Thực thi các câu lệnh SQL thông qua phương thức Execute của đ/tượng Connection - Đọc dữ liệu từ Recordset sử dụng ...

- Tạo đối tượng Connection và Recordset sử dụng phương thức Server.CreateObject

- Kết nối đến CSDL

- Thực thi các câu lệnh SQL thông qua phương thức Execute của đ/tượng Connection

- Đọc dữ liệu từ Recordset sử dụng vòng lặp

- Kết hợp với đối tượng Response để gửi trả kết quả về cho trình duyệt.

Qui ước: Tệp cơ sở dữ liệu dùng trong suốt các ví dụ là tệp nwind.mdb và được đặt tại thư mục gốc của ứng dụng.

Trang KetNoi.asp

<HTML>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=Utf-8">

<title>Ket noi </title>

</head>

<BODY>

<%

Dim Conn

'// Tạo đối tượng Connection

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.ConnectionString = "Provider=Microsoft.Jet.oledb.4.0; Data Source = " & Server.Mappath("nwind.mdb")

Conn.CursorLocation = 3

on error resume next

'/// Mở kết nối

Conn.Open

IF Conn.State = 1 THEN

Response.write("Da ket noi thanh cong !")

ELSE

Response.write("Khong the ket noi den CSDL !")

END IF

'/// Đóng kết nối

cn.Close

%>

</BODY>

</HTML>

Đối tượng Connection này giống như đối tượng Connection trong Visual Basic.

Để thực hiện các câu lệnh SQL, sử dụng cú pháp:

Cn.Execute (<Câu lệnh SQL>); với Cn là một đối tượng Connection

Dim Rs

Set Rs = Server.createObject(“ADODB.Recordset”)

Đối tượng Recordset này giống như đối tượng Recordset trong Visual Basic.

Việc phối hợp giữa đối tượng Connection và Recordset cũng giống như trong VB.

Thực thi câu lệnh SQL:

<Biến_Connection>.Execute ("Câu_Lệnh_SQL")

+ Câu lệnh SQL : Select để đọc (Chọn) ra các bản ghi

+ Câu lệnh : Insert để chèn thêm các bản ghi

+ Câu lệnh: Delete để xóa bản ghi

+ Câu lệnh Update để cập nhật các bản ghi.

Hiển thị toàn bộ tên nhà cung cấp (CompanyName) trong bảng Suppliers

<HTML>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<title>Danh sach nha cung cap </title>

</head>

<BODY>

<%

Dim Conn, Rs

'// Tạo đối tượng Connection

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.ConnectionString = "Provider=Microsoft.Jet.oledb.4.0; Data Source = " & Server.Mappath("nwind.mdb")

Conn.CursorLocation = 3

'//// Mở kết nối đến CSDL

on error resume next

Conn.Open

'/// Tạo một biến Recordset

Set Rs = Server.CreateObject("ADODB.Recordset")

'/// Lưu kết quả select vào biến Recordset : RS

Set Rs = Conn.Execute("SELECT CompanyName from Suppliers")

'/// Duyệt các bản ghi trong biến kết quả RS và write ra trình duyệt

Do while not Rs.eof

Response.write(Rs("CompanyName"))

Response.write ("<BR>")

Rs.MoveNext

loop

Conn.Close

%>

</BODY>

</HTML>

Version 2:

Kết nối và đọc dữ liệu sử dụng phương thức Open của đối tượng Recordset.

Đọc dữ liệu thông qua phương thức Open

<HTML>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<title>Danh sach nha cung cap </title>

</head>

<BODY>

<%

Dim Conn, Rs

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.ConnectionString = "Provider=Microsoft.Jet.oledb.4.0; Data Source = " & Server.Mappath("nwind.mdb")

Conn.CursorLocation = 3

on error resume next

Conn.Open

Set Rs = Server.CreateObject("ADODB.Recordset")

Rs.Open "SELECT CompanyName from Suppliers", Conn, 1,3

Do while not Rs.eof

Response.write(Rs("CompanyName"))

Response.write ("<BR>")

Rs.MoveNext

Loop

Conn.Close

%>

</BODY>

</HTML>

Dùng cách này, về sau ta có thể thêm và cập nhật CSDL thông qua Rs.

Hiển thị danh sách các sản phẩm trong một bảng

Thông tin hiển thị gồm: Tên sản phẩm, giá, …

Thêm bản ghi vào trong CSDL

Xây dựng trang asp cho phép người dùng thêm các nhà cung cấp vào

Hiển thị danh sách các nhà cung cấp trong một ComboBox

Hiển thị Tên các nhà cung cấp (Companyname), và bên cạnh tên nhà cung cấp có thêm cột “Xem các sản phẩm” do nhà cung cấp đó sản xuất ra. Khi người dùng click vào Hyperlink này thì hiển thị tên các sản phẩm do nhà cung cấp đó đã sản xuất ra.

Tạo một form nhập để cho phép người dùng nhập thêm nhà cung cấp.

Tạo một form để tìm kiếm thông tin chi tiết nhà cung cấp. Thông tin nhập vào là mã nhà cung cấp (SupplierID)

Tạo một trang cập nhật thông tin về nhà cung cấp (bảng Suppliers)

Tạo một trang cho phép xóa bản ghi trong bảng Suppliers

Tạo một trang hiển thị thêm 3 cột “Add”, “Update”, “Delete” để cho người dùng có thể thêm, sửa đổi và xóa bản ghi trong bảng Suppliers.

Tạo một bảng Users, chứa tài khoản người dùng. Sau đó xây dựng trang Login.asp thực hiện việc đăng nhập.

Tạo một trang hiển thị danh mục các loại sản phẩm, mỗi khi người dùng click vào một chủng loại thì hiển thị các sản phẩm thuộc chủng loại đó.

Hiển thị danh sách sản phẩm theo từng trang – 10 bản ghi / 1 trang.

THE END.

0