24/05/2018, 22:54

Kết nối các 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 THENResponse.write("Da ket noi thanh cong !") ELSEResponse.write("Khong the ket noi den CSDL !") ENDIF '/// Đó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.

3.2 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,3Do 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.

0