24/05/2018, 22:20

Các đối tượng

- Trước khi muốn làm việc với hệ quản trị CSDL để SELECT/Insert/Update/Delete,... dữ liệu, ta cần phải thực hiện thao tỏc gọi là "Kết nối" đến CSDL. Đối tượng Connection sẽ cho phộp ta kết nối đến CSDL. - Cỏch tạo đối tượng Connection ...

- Trước khi muốn làm việc với hệ quản trị CSDL để SELECT/Insert/Update/Delete,... dữ liệu, ta cần phải thực hiện thao tỏc gọi là "Kết nối" đến CSDL. Đối tượng Connection sẽ cho phộp ta kết nối đến CSDL.

- Cỏch tạo đối tượng Connection và kết nối như sau:

<% Dim Cn

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

Cn.ConnectionString="Provider=Microsoft.Jet.oledb.4.0; Data Source = c:Nwind.mdb"

Cn.Open

%>

- Chỳ ý: Biến Cn do ta tự đặt, cú thể là tờn tuỳ ý.

- Nếu kết nối với CSDL Access thỡ đặt ConnectionString như trờn, cũn nếu kết nối đến CSDL SQL Server thỡ đặt tương tự như sau:

ConnectionString ="Provider=SQLOLEDB.1;Password=123456;User ID=sa;Initial Catalog=TestOnlineDB; Data Source=127.0.0.1"

Đối tượng này cho phộp ta thực hiện tất cả cỏc cõu lệnh truy vấn SQL (Như đó giới thiệu ở bài giảng trước) như Select, Update, Delete, Insert. Cỏc cõu lệnh đó viết trước đõy đều cú thể mang nguyờn sang đõy để thực hiện.

- Cách khai báo để thực hiện cõu lệnh SQL thụng qua đối tượng ADODB.Command

<% Dim Cn

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

Cn.ConnectionString="Provider=Microsoft.Jet.oledb.4.0; Data Source = c:Nwind.mdb"

Cn.Open

' Khai báo đối tượng Command

Dim Cmd

Set Cmd = Server.CreateObject("ADODB.Command")

Set Cmd.Connection = Cn 'Đặt Connection là Connection ở trờn

Cmd.Execute(<Đặt cõu lệnh SQL đó học vào đõy>)

%>

- Vớ dụ: Chốn 1 bản ghi vào bảng tblBaiHat ở bài thực hành trước cú nội dung

Insert into tblBaiHat(TenBaiHat, TacGia, SoLuongPhatHanh, NamSangTac, TheLoai, CaSiTheHien) values ('Tình Ca','Hoàng Việt','100000','1/1/1957','Trữ Tỡnh','Quang Thọ')

<% Dim Cn

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

Cn.ConnectionString="Provider=Microsoft.Jet.oledb.4.0; Data Source = BaiHat.mdb"

Cn.Open

' Khai bỏo đối tượng Command

Dim Cmd

Set Cmd = Server.CreateObject("ADODB.Command")

Set Cmd.Connection = Cn

Cmd.Execute("Insert into tblBaiHat(TenBaiHat, TacGia, SoLuongPhatHanh, NamSangTac, TheLoai, CaSiTheHien) values ('Tình Ca','Hoàng Việt',

'100000','1/1/1957','Trữ Tỡnh','Quang Thọ')")

%>

Đối tượng Recorset dựng để lưu kết quả trả về sau khi đối tượng Command thực hiện lệnh lấy dữ liệu về (Vớ dụ sau khi đối tượng Command thực hiện cõu lệnh SELECT).

Với Recordset, ta cú thể duyệt từng bản ghi lấy về thụng qua vũng lặp Do While.

- Cỏch khai báo đối tượng Recordset

<%

'B1:Tạo đối tượng Connection và mở kết nối đến Cơ sở dữ liệu

Dim Cn

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

Cn.ConnectionString="Provider=Microsoft.Jet.oledb.4.0; Data Source = " &

Server.Mappath("BaiHat.mdb")

Cn.Open

'B2:Khai báo và tạo biến Recordset

Dim Rs

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

' B3:Thực hiện câu lệnh SQL thụng qua đối tượng Recordset và Connection

Rs.Open "<Câu lệnh Select/Update/Delete/Insert/....>", Cn, 3,3

%>

- Vớ dụ sử dụng Recordset để nhận dữ liệu & hiển thị

<%

'Bước 1:Tạo đối tượng Connection và mở kết nối đến Cơ sở dữ liệu

Dim Cn

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

Cn.ConnectionString="Provider=Microsoft.Jet.oledb.4.0; Data Source = " &

Server.Mappath("BaiHat.mdb")

Cn.Open

'Bước 2: Khai báo và tạo đối tượng Recordset

Dim Rs

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

'Bước 3: Thực hiện câu lệnh SQL, để lấy kết quả trả về.

Rs.Open "Select TenBaiHat from tblBaiHat", Cn, 3,3

'Bước 4: Dựng vũng lặp để duyệt các bản ghi vừa nhận

Do While Not Rs.Eof

Response.write(Rs("TenBaiHat") & "<br>")

Rs.MoveNext

loop

Rs.Close

Cn.Close

Set Rs = Nothing

Set Cn = Nothing

%>

0