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

Bài giảng Visual Basic 2 pps

72 616 1
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài Giảng Visual Basic 2
Tác giả Lương Văn Vân
Trường học Khoa Công Nghệ Thông Tin
Chuyên ngành Lập trình
Thể loại Bài giảng
Định dạng
Số trang 72
Dung lượng 4,35 MB

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

Nội dung

Lập trình Visual Basic 2Chương 1: TỔNG QUAN VỀ LẬP TRÌNH CSDL VỚI VB CÁC KỸ THUẬT LIÊN KẾT CSDL CÁC ĐỐI TƯỢNG LẬP TRÌNH CƠ SỞ ĐIỀU KHIỂN ADO DATA... CÁC ĐỐI TƯỢNG LẬP TRÌNH ADO CƠ SỞLập

Trang 1

Lương Văn Vân

BÀI GIẢNG VISUAL BASIC 2

Trang 2

MỘT SỐ TIÊU ĐIỂM CỦA MÔN HỌC

Hệ quản trị CSDL (Access hoặc SQL Server)

Câu lệnh SQL để truy vấn dữ liệu

 Thi kết thúc môn học bằng hình thức thi viết hoặc thi thực hành.

Lập trình Visual Basic 2

Trang 3

TÀI LIỆU THAM KHẢO

 1 Đặng Thế Khoa, Giáo trình lập trình ứng dụng Visual Basic, Trung tâm tin học, ĐH Khoa học tự nhiên - Đại học Quốc gia TP.Hồ Chí Minh.

 2 VN-Guide, Giáo trình học và thực hành Visual Basic căn bản, Nhà xuất bản thống kê.

 3 TS Võ Trung Hùng, Bài giảng Lập trình Visual Basic, Đại Học Bách Khoa Đà nẵng, 2008.

 4 Giáo trình Visual Basic 6.0, Đại học FPT 2007.

Lập trình Visual Basic 2

Trang 5

Lập trình Visual Basic 2

Chương 1: TỔNG QUAN VỀ LẬP TRÌNH CSDL VỚI VB

CÁC KỸ THUẬT LIÊN KẾT CSDL CÁC ĐỐI TƯỢNG LẬP TRÌNH CƠ SỞ

ĐIỀU KHIỂN ADO DATA

Trang 7

CÁC KỸ THUẬT LIÊN KẾT CSDL (tt)

 Kỹ thuật DAO

DAO ( Data Access Object ) là lớp giao tiếp cấp cao gồm các đối tượng cho phép chương trình liên kết trực tiếp đến CSDL Access thông qua một cơ chế truy xuất dữ liệu Microsoft Jet.

Lập trình Visual Basic 2

Trang 8

CÁC KỸ THUẬT LIÊN KẾT CSDL (tt)

 Kỹ thuật OLE DB

OLE DB là kỹ thuật truy cập dữ liệu cấp thấp, được phát triển từ kỹ thuật ODBC, cung cấp bộ giao tiếp API chung cho các ứng dụng cho phép truy xuất các CSDL có cấu trúc và không cấu trúc thông qua một trình giao tiếp OLE DB Provider.

Lập trình Visual Basic 2

Trang 10

CÁC ĐỐI TƯỢNG LẬP TRÌNH ADO CƠ SỞ

Lập trình Visual Basic 2

 Connection : Là đối tượng được sử dụng dùng để tạo liên kết chương trình với CSDL

Provider : Tên của chương trình giao tiếp dữ liệu (OLE DB Provider)

Data source : Tên đầy đủ của tập tin CSDL cần liên kết

Username : Là thông tin tùy chọn quy định tên của người dùng được tổ chức bên trong CSDL

Password : Chuỗi mật khẩu tương ứng với Username truy cập CSDL

Trang 11

CÁC ĐỐI TƯỢNG LẬP TRÌNH ADO CƠ SỞ

Là đối tượng dùng để nhận và trả về giá trị khi đối tượng Command gọi một thủ tục.

Đối với CSDL Access các truy vấn đã được xây dựng sẵn trong tập tin MDB (bao gồm các truy vấn chọn, thêm, xóa, sửa…) có thể được xem như thủ tục.

Trang 12

CÁC ĐỐI TƯỢNG LẬP TRÌNH ADO CƠ SỞ

Trang 13

CÁC ĐỐI TƯỢNG LẬP TRÌNH ADO CƠ SỞLập trình Visual Basic 2

 Mô hình các đối tượng :

Trang 14

ĐIỀU KHIỂN ADO DATA

Lập trình Visual Basic 2

 Microsoft ADO Data Control :

Cho phép liên kết và truy xuất CSDL theo kỹ thuật ADO

Bình thường, khi ta mới khởi động một project VB6 mới,

Control Data ADO không có sẵn trong IDE Muốn có nó, bạn

hãy dùng Menu Command Project | Components , rồi chọn Microsoft ADO Data Control 6.0 (OLEDB) từ giao diện Components như dưới đây:

Trang 15

ĐIỀU KHIỂN ADO DATA (tt)

Lập trình Visual Basic 2

Trang 16

Lập trình Visual Basic 2

Chương 2: CÁC ĐT CƠ SỞ TRONG MÔ HÌNH LT CSDL

CONNECTION

RECORDSET

Trang 17

Lập trình Visual Basic 2

 Tạo đối tượng Connection dùng lệnh:

Public cn As ADODB Connection

Set cn = New ADODB Connection

adStateClosed: không kết nối

adStateOpen: kết nối

 Thuộc tính Open:

Dùng để mở kết nối

Trang 18

Lập trình Visual Basic 2

ADO, đối tượng được dùng để hiển thị và cập nhật dữ liệu trong lập trình ứng dụng CSDL.

 Mỗi một dòng dữ liệu có trong bộ mẩu tin được gọi là mẩu tin Tuy bộ mẫu tin có thể chứa nhiều mẩu tin nhưng tại một thời điểm, chúng ta chỉ có thể làm việc với đúng một mẩu tin gọi là mẩu tin hiện hành Mỗi cột dữ liệu có trong bộ mẩu tin được gọi là trường dữ liệu ( Field ).

Trang 19

RECORDSET (TT)

Lập trình Visual Basic 2

 Khai báo biến bộ mẩu tin (Recordset)

Dim <tên biến Recordset> as <tên ADO data control>.Recordset

 Cấp phát vùng nhớ cho biến Recordset

Set <tên biến Recordset> = New <tên ADO data control>.Recordset

 Khởi tạo các giá trị cho biến bộ mẩu tin (Recordset)

<tên biến Recordset>.Open [Source],[Connection],[Type],[Lock], [Option]

Trong đó:

Source: là chuỗi xác định nguồn dữ liệu của bộ mẩu tin là tên một

bảng hay chuỗi câu lệnh SQL.

Connection: là chuỗi chứa thông tin kết nối CSDL.

Trang 20

RECORDSET (TT)

Lập trình Visual Basic 2

Type: là các hằng số chỉ ra loại của Recordset Thông thường khi

viết ứng dụng chạy trên máy đơn chúng ta thường dùng loại adOpenStatic

Lock: là thuộc tính xác định trạng thái cho phép khóa dữ liệu khi cập nhật trên bộ mẫu tin

Option: là thuộc tính xác định kiểu nguồn dữ liệu Source

adCmdTable Khi Source là tên bảng trên Access 2 adCmdText Khi Source là truy vấn SQL 1 adCmdStoreProc Khi Source là Stored Procedure trong

Trang 21

 Đóng mở bộ mẩu tin (Recordset)

<tên biến recordset>.Close

<tên biến recordset>.Open

 VD: if <tên biến recordset>.State = adStateClosed then <tên biến recordset>.Open

Trang 23

RECORDSET (TT)

Lập trình Visual Basic 2

 Liên kết bộ mẫu tin với các điều khiển dữ liệu:

Set <tên điều khiển>.Datasource= <tên biến recordset>

<tên điều khiển>.DataField= <chuỗi tên trường liên kết> Trong đó:

Tên điều khiển: TextBox, Label, ComboBox….

Trang 24

RECORDSET (TT)

Lập trình Visual Basic 2

 Liên kết bộ mẫu tin với các điều khiển dữ liệu:

Set <tên biến Recordset> = New ADODB.Recordset

<tên biến Recordset>.Source = " select <tên trường> from <tên bảng>

"

<tên biến Recordset>.ActiveConnection = <tên chuỗi kết nối>

<tên biến Recordset> Open

Ví dụ:

• Set rs = New ADODB.Recordset

• rs.Source = " select mssv, hoten from sinhvien “

• rs.ActiveConnection = cn

• rs.Open

Trang 25

RECORDSET (TT)

Lập trình Visual Basic 2

 Các thuộc tính mẫu tin thường dùng

RecordCount (trị Long Integer): số lượng mẩu tin

BOF: Trước mẩu tin đầu

EOF: Sau mẩu tin cuối

EditMode: chỉ trình trạng của mẩu tin hiện hành, có các giá trị sau

• adEditNone 0 Bình thường

• adEditInProgress 1 Đang sửa đổi chưa cập nhật

• adEditAdd 2 Đang thêm mới chưa cập nhật

• adEditDelete 3 Đánh dấu hủy chưa cập nhật

Trang 26

RECORDSET (TT)

Lập trình Visual Basic 2

 Di chuyển mẩu tin hiện hành

<tên biến Recordset>.MoveFirst

<tên biến Recordset>.MoveLast

<tên biến Recordset>.MoveNext

<tên biến Recordset>.MovePrevious

<tên biến Recordset>.Move numRec [, startPos]

• numRec: Là số mẩu tin sẽ nhảy qua tính từ vị trí startPos

• startPos: Lấy vị trí hiện hành

Trang 27

RECORDSET (TT)

Lập trình Visual Basic 2

 Duyệt qua các mẩu tin của một bộ mẩu tin (Recordset)

<tên biến Recordset>.MoveFirst

Do While Not <tên biến Recordset>.EOF các xử lý trên mẩu tin hiện hành

<tên biến Recordset>.MoveNext Loop

Trang 28

RECORDSET (TT)

Lập trình Visual Basic 2

 Thêm mới một mẩu tin (AddNew):

“Insert into TenTable values ('" & gtri1 & "‘, '" & gtri2 & "‘ '" & gtri_n &

"')“

ví dụ:

Dim <tên biến Recordset> as <tên ADO data control>.Recordset

Set <tên biến Recordset> = New ADODB.Recordset

rs.Source = “Insert into TenTable values ('" & gtri1 & "‘,…& gtri_n &

"‘)“

rs.ActiveConnection = cn

Trang 29

RECORDSET (TT)

Lập trình Visual Basic 2

Sửa mẩu tin (Update):

“Update TenTable set TenField1 ='" & gtr1 & "', TenField2 ='" & gtr2 & "‘,

TenField_n ='" & gtri_n& "' where TenField chứa điều kiện sửa = '" & giá trị điều kiện cần sửa & “’ “

Ví dụ:

Dim <tên biến Recordset> as <tên ADO data control>.Recordset

Set <tên biến Recordset> = New ADODB.Recordset

rs.Source = “Update TenTable set TenField1 ='" & gtr1 & "',

TenField2 ='" & gtr2 & "‘, TenField_n ='" & gtri_n& "' where

TenField chứa điều kiện sửa = '" & giá trị điều kiện cần sửa & "‘ “ rs.ActiveConnection = cn

rs.Open

Trang 30

RECORDSET (TT)

Lập trình Visual Basic 2

Xóa mẩu tin (Delete):

“Delete * from TênTable where TenField chứa điều kiện xóa = '" & giá trị điều kiện cần xóa & “’ “

Trang 31

Chương 3: CÁC ĐIỀU KHIỂN DỮ LIỆU

Lập trình Visual Basic 2

 DATACOMBO VÀ DATALIST:

Mục đích sử dụng:

combo Datalist

Trang 32

CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)

Lập trình Visual Basic 2

Khởi tạo DataCombo và DataList:

Trang 33

CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)

Lập trình Visual Basic 2

Các thuộc tính của DataCombo và DataList:

Với Bookmark của RecordSet có chức năng lưu trữ thông tin vị trí của

mẩu tin hiện hành.

RowSource Nguồn dữ liệu để các điều khiển (DataCombo và DataList) hiển thị,

Trang 34

CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)

Lập trình Visual Basic 2

Code minh họa tạo DataCombo:

Dim <tênbiếnRecordset> as <tên ADO DataControl>.Recordset Set <tênbiếnRecordset> = New <tênADO DataControl>.Recordset

<tênbiếnRecordset>.Open [Source],[Connection],[Type],[Lock], [Option]

Set <Tên_Điều_Khiển>.RowSource = <tênbiếnRecordset>.

<Tên_Điều_Khiển>.ListField = “Tên trường“

Code hiển thị thông tin trường khác tương ứng trên một bộ mẩu tin lên TextBox khi ta chọn một trường từ DataCombo:

Viết code ở sự kiện Click vào vùng hiển thị của điền khiển nếu <Tên_Điều_Khiển>.SelectedItem > 0 thì

Trang 35

Chương 3: CÁC ĐIỀU KHIỂN DỮ LIỆU

Lập trình Visual Basic 2

 COMBOBOX:

Mục đích sử dụng:

Trang 36

CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)

Lập trình Visual Basic 2

Viết Code cho Combobox:

Set rs = New ADODB.Recordset rs.Source = "select * from Tên_Table “ rs.ActiveConnection = cn

rs.Open

Do While Not rs EOF

Tên_Combobox AddItem ( rs !Tên_Field)

………

rs MoveNext Loop

Trang 37

CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)

Lập trình Visual Basic 2

 LISTVIEW:

Mục đích sử dụng:

Trang 38

CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)

Lập trình Visual Basic 2

Cách tạo ListView:

Bước 1:

Trang 39

CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)

Lập trình Visual Basic 2

Bước 2:

Trang 40

CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)

Lập trình Visual Basic 2

Bước 3: Thiết lập các thuộc tính cho ListView

Trang 41

CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)

Lập trình Visual Basic 2

Bước 4: Tạo các cột và định dạng

Trang 42

CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)

Lập trình Visual Basic 2

Viết Code cho ListView:

Set rs = New ADODB.Recordset

rs.Source = "select * from Tên_Table “

rs.ActiveConnection = cn

rs.Open

Dim Tên biến LV As ListItem

Tên_Điều_Khiển_ListView.ListItems.Clear

Do While Not rs.EOF

Set Tên_biến_LV = Tên_Điều_Khiển_ListView i.ListItems Add(, , rs ! Tên_Field)

Tên_biến_LV SubItems(1) = rs !Tên_Field

………

rs MoveNext

Trang 43

CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)

Lập trình Visual Basic 2

Sự kiện ItemClick của ListView:

Tên_điều_Khiển (TextBox…)= Item.Text

KIỀM TRA LỖI NHẬP LiỆU:

On Error GoTo THOAT

Exit Sub

THOAT:

MsgBox “Thông báo”

Trang 44

CÁC KỸ THUẬT LẬP TRÌNH CSDL

Lập trình Visual Basic 2

Đối tượng ProgressBar

 Sử dụng trong bộ định thời gian (Timer )

Trang 45

CÁC KỸ THUẬT LẬP TRÌNH CSDL (TT)

Lập trình Visual Basic 2

Đối tượng Timer

Kỹ Thuật Form Login

Trang 46

Lập trình Visual Basic 2

Chương 4: XÂY DỰNG CÁC ỨNG DỤNG

CÁCH TỔ CHỨC MỘT ỨNG DỤNG

XỬ LÝ CÁC LỖI THIẾT KẾ GIAO DIỆN

Trang 47

CÁCH TỔ CHỨC MỘT ỨNG DỤNG

Lập trình Visual Basic 2

Để thuận tiện việc theo dõi, tìm kiếm:

DATA FORMS REPORTS GRAPHICS MODULES ỨNG DỤNG

Trang 48

CÁCH TỔ CHỨC MỘT ỨNG DỤNG (TT)

Lập trình Visual Basic 2

DATA chứa các tập tin CSDL (đối với nguồn Access)

FORMS chứa các form trong ứng dụng

REPORTS chứa các báo biểu của ứng dụng

GRAPHICS chứa các tập tin đồ họa

MODULES chứa các tập tin module

Tập tin ứng dụng (*.vbp) được trong thư mục ỨNG DỤNG

Trang 49

XỬ LÝ CÁC LỖI (BẪY LỖI)

Lập trình Visual Basic 2

Lỗi khóa chính nhận giá trị Null :

 Trước khi thêm một mẩu tin mới ta phải kiểm tra trường khóa chính không nhận giá trị giá trịn rỗng

 Code:

If giá_trị_ = “” then thông_báo “giá trị khóa chính phải khác rỗng”

End If

Trang 50

Set rs = New ADODB.Recordset

rs Source= "select * from Table where khoa='" & giá_trị_khóa_mới & "'“

Trang 51

XỬ LÝ CÁC LỖI (TT)

Lập trình Visual Basic 2

 Lỗi không tồn tại khóa ngoại:

Khi ta thêm một mẫu tin mới thì giá trị khoá ngoại của mẩu tin mới không tồn tại ở bảng 1 trong CSDL

Kỹ thuật:

Set rs = New ADODB.Recordset

rs Source= "select * from Table where khoa='" & giá_trị_khóa_mới & "'“

rs ActiveConnection = cn

rs Open

If rs EOF() Then “không tồn tại khóa ngoại ở bảng 1”

End If

Trang 53

THIẾT KẾ GIAO DIỆN

Lập trình Visual Basic 2

 Khi thiết kế giao diện màn hình cho các ứng dụng chúng ta cần chú ý đến 3 yếu tố sau:

Giao diện thân thiện

Giao diện hài hòa

Thao tác thuận tiện

Trang 54

THIẾT KẾ GIAO DIỆN

Trang 55

THIẾT KẾ GIAO DIỆN

Lập trình Visual Basic 2

 Thiết kế form đơn

Trang 56

THIẾT KẾ GIAO DIỆN

Lập trình Visual Basic 2

 Thiết kế form đơn kép

Trang 57

Lập trình Visual Basic 2

Chương 5: BÁO BIỂU (REPORT)

DATAREPORT DESIGNER

MỘT SỐ KỸ THUẬT KHÁC

Trang 58

DATAREPORT DESIGNER

Lập trình Visual Basic 2

Report header: Phần tiêu đề đầu của báo biểu

Report footer: Phần tiêu đề cuối của báo biểu

Page header: Tiêu đề đầu trang

Page footer: Tiêu đề cuối trang

Group header: Tiêu đề đầu của nhóm

Group footer: Tiêu đề cuối của nhóm

Details: Chứa nội dung chi tiết của báo biểu

Trang 59

DATAREPORT DESIGNER (TT)

Lập trình Visual Basic 2

 Cấu trúc của báo biểu

Trang 60

DATAREPORT DESIGNER (TT)

Lập trình Visual Basic 2

 Các đối tượng của báo biểu

Trang 61

DATAREPORT DESIGNER (TT)

Lập trình Visual Basic 2

 Các thuộc tính chính của báo biểu

Name: Tên báo biểu

Caption: Tiêu đề của cửa sổ báo biểu

DataSource: Nguồn dữ liệu (tên của DataEnvironment)

Datamember: Tên của command tạo cho báo biểu

Trang 62

DATAREPORT DESIGNER (TT)

Lập trình Visual Basic 2

Tạo một command trên DataEnvironment chứa các trường

Các thuộc tính của Command

ConnectionName: Tên đối tượng kết nối CSDL

CommandType: Gồm 3 tham số sau.

– abCmdText: Chứa câu truy vấn SQL…

– abCmdTable: Chứa table

Trang 63

DATAREPORT DESIGNER (TT)

Lập trình Visual Basic 2

 Tạo dữ liệu cho báo biểu

Để tạo số liệu cho báo biều thì phải DataEnvironment

• Đối tượng Connection:

– ConnectionSource: tên CSDL cần kết nối

Trang 64

DATAREPORT DESIGNER (TT)

Lập trình Visual Basic 2

 Tạo nhóm trên báo biểu

Trang 65

DATAREPORT DESIGNER (TT)

Lập trình Visual Basic 2

 Đưa trường tính toán vào cùng GroupHeader và Footer

Dùng đối tượng RptFunction để đưa trường tính toán

Các thuộc tính chính của đối tượng RptFunction

Name: Tên đối tượng

Datamember: Tên của Command chứa trường cần tính toán

Datafield: Tên trường muốn tính toán

FunctionType: Loại hàm tính toán

Trang 66

DATAREPORT DESIGNER (TT)

Lập trình Visual Basic 2

 Các FunctionType của đối tượng RptFunction

rptFuncSum Tổng các Datafield kiểu số

rptFuncAve Giá trị trung bình các Datafield kiểu số

rptFuncMin Giá trị nhỏ nhất của Datafield kiểu số

rptFuncMax Giá trị lớn nhất của Datafield kiểu số

rptFunRcnt Đếm số mẩu tin

rptFunVcnt Đếm số mẩu tin trong vùng không chứa

trị

Trang 67

MỘT SỐ KỸ THUẬT KHÁC

Lập trình Visual Basic 2

 Đưa số trang và ngày tháng vào báo biểu

Nhất chuột phải vào báo biểu\ chọn Insert Control

Trang 68

MỘT SỐ KỸ THUẬT KHÁC (TT)

Lập trình Visual Basic 2

 Ý nghĩa của các điều khiển trên

Current Page Number Số trang hiện hành %p

Current Data (Short Format) Ngày hiện hành (dạng ngắn) %dCurrent Data (Long Format) Ngày hiện hành (dạng đầy đủ) %DCurrent Time (Short Format) Giờ hiện hành (dạng ngắn) %tCurrent Time (Long Format) Giờ hiện hành (dạng đầy đủ) %T

Trang 69

MỘT SỐ KỸ THUẬT KHÁC (TT)

Lập trình Visual Basic 2

 Thi hành một báo biểu:

Tên_báo_biểu Show ()

Ngày đăng: 07/07/2014, 11:20

TỪ KHÓA LIÊN QUAN

w