II. NHỮNG TÁC VỤ CƠ BẢN CỦA ASP 1 Một số ứng dụng đơn giản.
3. Đối tượng Connection.
Trên thực tế thì đối tượng Connection sẽ cung cấp sự kết nối giữa ADO và một cơ sở dữ liệu nào đó. Thông thường nó chứa ba thông tin:
- Cơ sở dữ liệu.
- Giao thức (Driver và/hoặc Provider) để trao đổi thông tin với cơ sở dữ liệu ở trên.
- Username và Password.
Một khi một đối tượng Connection được sử dụng một cách tường minh thì công cụ ADO sẽ bổ sung thêm một số khả năng sau:
- Tạo nhiều Recordset từ một kết nối.
- Cung cấp thông tin về cấu trúc cơ sở dữ liệu. - Ứng dụng của các giao tác.
- Tính dễ dàng trong việc xử lý lỗi.
3.1 Kết nối tới Database bằng cách sử dụng DSN – Connnection toDatabase with DSN. Database with DSN.
Để tạo được kết nối này ta thực hiện các bướcnhư sau: - Tạo cơ sở dữ liệu Access và đặt DSN cho nó. - Tạo một đối tượng kết nối.
- Dùng đối tượng đó để mở một cơ sở dữ liệu đã có DSN. Cụ thể:
Set conn=server.CreateObject(“ADODB.connection”) Conn.Open “DSN name of Database”
Set RS = Conn.Excute(SQLServer)
Chú ý về các thuộc tính của RS sau khi cài đặt Excute: RS.fields.count là số trường của bảng.
RS(i).name là tên trường. RS(i) là giá trị trường i. Ví dụ:
<html> <head>
<Title ActiveX Data Object (ADO) </Title> </head>
<body BGcolor=”#FFFFFF”)
<h1 ActiveX Data Object (ADO) </h1> <%
Set conn=server.createObject(“ADODB.Connection”) Conn.Open “ADO samples”
Set RS = conn.excute(“SELECT * FROM orders”) %>
<tr>
<% for i=0 to RS.Fields.count -1%> <td><b><%=RS(i).name%></b></td> <%next%>
</tr>
<% Do while Not RS.EOF %> <tr>
<% for i=0 to RS.fields.count -1%> <td VALIGN=”top”><%=RS(i)%> </td> <%Next%> </tr> <% RS.Move.Next Loop RS.Close %> </Table> <p><br> <br> </p> </body> </html>
Hạn chế của phương pháp trên là phải đặt cứng cơ sở dữ liệu theo ODBC trong Control Panel thay vào đó ta có thể sử dụng phương pháp động hơn. Đó chính là cách tạo các Connection thông qua các câu lệnh.
3.2 Các phương pháp kết nối tới Access.
Trong quá trình kết nối tới Data thông qua ASP, chúng ta không phải luôn luôn tạo được DSN cho Data file trên hệ thống Webserver hoặc ta cũng không muốn có hàng triệu kết nối DSN trên Server. Trong trường hợp đó chúng ta dùng Data cùng với ADO (ActiveX Data Object) thì phải kết nối chúng thông
qua ODBC data Source. Nếu ta tự Publish data lên Web thì việc tạo ra các DSN là rất phức tạp. Do đó ta có thể sử dụng các phương pháp sau:
Phương pháp 1: Kết nối tới Access thông qua Connection Object. <%
‘ Tạo đối tượng kết nối
Set Conn = Server.CreateObject(“ADODB.Connection”) ‘ Tạo đưòng dẫn tới cơ sở dữ liệu
ConnectionString = “DRIVER = Microsoft Access Driver (*.ndb); DBQ = D:\luanvan\dulieu.mdb”
‘ Mở kết nối
Conn.Open ConnectionString %>
Phương pháp 2: Kết nối tới Access thông qua Recordset Object <%
‘ Tạo đối tượng kết nối
Set rsData = Server.CreateObject(“ADODB.Recordset”) ‘ Tạo đường dẫn
ConnectionString = “DRIVER = Microsoft Access Driver (*.ndb); DBQ = D:\luanvan\dulieu.mdb”
‘ Tạo một SL statement
SQL = “SELECT *FROM Mytable” ‘ Mở Recordset
rsData.Open SQL, ConnectionString %>
Phương pháp 3: Kết nối tới Data sử dụng phương pháp Mappath
Sử dụng phương pháp này có thể Map các thư mục chứa dữ liệu một cách dễ dàng. Thực chất đây là cách đặt đường dẫn tự động mà không cần chỉ ra đường dẫn tới tệp dữ liệu.
Ví dụ:
set mydb =server.createobject("ADODB.connection") connectstr="dbq=" & server.MapPath("dulieu.mdb")
sqlstr="select * from user" set rs = mydb.execute(sqlstr)