1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng lập trình trực quan bài 2 ADODB

9 286 1

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 244 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

1, Đối tượng Connection : 1.1, Kết nối với CSDL : - Các loại CSDL có thể kết nối : Access, SQL Server, Oracle, Excel… -Việc kết nối thông tin từ CSDL cho đối tượng Connection được thực

Trang 1

+ Giúp chúng ta có thể nắm bắt một cách tổng quát thứ tự các bước lập trình với Cơ Sở Dữ Liệu (CSDL) bằng cách sử dụng ADODB

Mục đích :

+Đối tượng ADODB bao gồm : Connection, Command và RecordSet

1, Đối tượng Connection :

1.1, Kết nối với CSDL :

- Các loại CSDL có thể kết nối : Access, SQL Server, Oracle, Excel…

-Việc kết nối thông tin từ CSDL cho đối tượng Connection được thực hiện thông qua thuộc tính ConnectionString.

ConnectionString gồm 2 thông tin chính là Provider và Nguồn dữ liệu, các

thông tin khác có thể có thêm là UserName và PassWord để có thể truy cập CSDL có bảo mật

- Sau đó, sử dụng hành động Open để mở kết nối Việc kiểm tra trạng thái kết nối thông qua thuộc tính State

Trang 2

1, Đối tượng Connection :

1.1, Kết nối với CSDL :

-Thủ tục kết nối cơ sở dữ liệu :

Dim CN As New ADODB.Connection,dc As String

Sub KetNoi()

dc = App.Path & " \tenCSDL.mdb"

CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dc

CN.CursorLocation = adUseClient

CN.Open

End Sub

- Thuộc tính CursorLocation giúp chỉ định cách Data Project cung cấp các chức năng thao tác với CSDL gồm hai giá trị adUseServer và adUseClient.

Trang 3

1, Đối tượng Connection :

1.2, Thực Hiện Truy Vấn SQL :

- Sau khi đã kết nối với CSDL, việc truy xuất dữ liệu thường thông qua các câu truy vấn SQL

- Hành động Execute của đối tượng Connection dùng để thực hiện một câu truy vấn SQL

sql = “Update KetQua Set Diem = Diem + 1 Where MaMon=’TH01’”

CN.Execute sql

1.3, Quản Lý Lỗi :

- Connection cung cấp thuộc tính Errors chứa tập hợp lỗi để giúp người lập trình có thể kiểm soát lỗi phát sinh

- Tập hợp Errors gồm các đối tượng Error với những thuộc tính cung cấp

thông tin về lỗi xáy ra như Description, Source, SQL State,…

Trang 4

2, Đối tượng RecordSet :

2.1, Tạo đối tượng RecordSet :

- RecordSet cho phép làm việc trên từng dòng dữ liệu thay vì trên một tập hợp nhiều mẩu tin Do đó, ta có thể coi RecordSet như một Table hay một Query trong CSDL.Qua đó việc thao tác trên dữ liệu sẽ rất dễ dàng

- Có thể tạo một RecordSet bằng nhiều cách khác nhau như : Chỉ ra tên bảng hay bằng một câu truy vấn SQL

- Việc mở RecordSet được thực hiện qua hành động Open

Tùy vào ngữ cảnh lập trình, RecordSet cung cấp các thuộc tính CursorType

và LockType để người dùng truy cập dữ liệu Hai thuộc tính này có thể được cung cấp trực tiếp qua hành động Open.

Trang 5

2, Đối tượng RecordSet :

2.2, Hiển thị dữ liệu :

- RecordSet thông qua hai thuộc tính DataSource và DataField cho phép

hiển thị dữ liệu lên các điều khiển(TextBox, Label, CheckBox…)

- Ví Dụ :

Dim rsSinhVien As ADODB.Recordset

Set rsSinhVien = New ADODB.Recordset

rsSinhVien.Open "SINHVIEN", CN, adOpenStatic, _

adLockOptimistic,adCmdTable

Set txtHoTen.DataSource = rsSinhVien

txtHoTen.DataField = "HoTen"

2.3, Làm việc trên các mẩu tin :

- Mẩu tin đang được làm việc gọi là mẩu tin hiện hành

- Để chuyển sang làm việc trên các mẩu tin khác trong RecordSet, người

dùng sử dụng hành động MoveFirst, MoveLast, Move, MovePrevious, MoveNext, Bookmark.

Trang 6

2, Đối tượng RecordSet :

2.4, Cập nhật dữ liệu :

Ngoài việc là nguồn hiển thị dữ liệu, RecordSet còn cho phép cập nhật dữ liệu

gián tiếp vào CSDL bằng các hành động AddNew, Delete, Update và

CancelUpdate

2.5, Lọc, tìm kiếm và sắp xếp mẩu tin :

2.5.1, Để lọc các mẩu tin ta sử dụng thuộc tính Filter để lọc

VD : rsSinhVien.Filter = “MaKhoa = ‘TH01’ And DiemTB >= 5”

2.5.2, Để tìm kiếm, RecordSet cung cấp hành động Find Hành động này chỉ

có thể tìm trên một điều kiện đơn (không có AND,OR …)

VD : rsSinhVien.Find “MaKhoa = ‘TH01’”, 0, adSearchForward, _

adBookmarkFirst

2.5.3, Để sắp xếp chúng ta sử dụng thuộc tính Sort của RecordSet

VD : rsSinhVien.Sort = “MaKhoa, DiemTB Desc, MaSV”

Trang 7

2, Đối tượng RecordSet :

2.6, Thông tin về Field dữ liệu :

Thuộc tính Fields là một tập hợp các Field Thông qua Field ta có thể biết đầy

đủ các thông tin như Name,Type,DefineSize,Value,

Ví Dụ :

Dim f as Field

For Each f in rsSinhVien.Fields

MsgBox “Ten field: “ & f.Name & “ Kieu: “ & f.Type & “ Gia tri: “ & _ f.Value

Next

2.7, Thông tin về dữ liệu đang chứa trong RecordSet :

- RecordCount : tổng số mẩu tin

- AbsolutePosition, BOF, EOF : vị trí mẩu tin hiện hành

- EditMode : tình trạng mẩu tin (rsSinhVien.EditMode = adEditAdd,…)

- State : trạng thái kết nối với CSDL

VD : rsSinhVien.State = adStateOpen

Trang 8

3, Đối tượng Command :

3.1, Command cho phép thi hành các câu truy vấn SQL :

3.1.1, Các câu SQL tĩnh :

Dim rsSinhVien As ADODB.Recordset, Cmd As ADODB.Command Set Cmd = New ADODB.Command

Set Cmd.ActiveConnection = CN Cmd.CommandText = "Select * From SinhVien Where DiemTB>=5"

Cmd.CommandType = adCmdText set rsSinhVien=cmd.Execute

3.1.2, Các câu SQL có tham số :

Dim rsSinhVien As ADODB.Recordset, Cmd As ADODB.Command Set Cmd = New ADODB.Command

Set Cmd.ActiveConnection = CN Cmd.CommandText = "Select * From SinhVien Where DiemTB>=? And MaKhoa=?"

Cmd.CommandType = adCmdText Set rsSinhVien = Cmd.Execute(, Array(5, "TH01"))

Trang 9

3, Đối tượng Command :

3.2, Command cho phép thi hành các Stored Procedure (Query) :

- Đối tượng Command cho phép người dùng gọi thực hiện các Query trong

CSDL từ chương trình VB

Ví dụ :

Dim rsSinhVien As ADODB.Recordset, Cmd As ADODB.Command

Set Cmd = New ADODB.Command

Set Cmd.ActiveConnection = CN

Cmd.CommandText = "Q_DS_SV_TotNghiep"

Cmd.CommandType = adCmdStoredProc

Set rsSinhVien=cmd.Execute

- Với các Query (Store Procedure) có tham số, có thể dùng tập hợp Parameters hay hành động CreateParameter để truyền tham số cho Query trước khi thực hiện cũng như nhận các giá trị trả về

Ngày đăng: 03/12/2015, 18:28

TỪ KHÓA LIÊN QUAN