Professional Documents
Culture Documents
Chương 1 MỞ ĐẦU........................................................................... 1
i
2.1 THỦ TỤC-PROCEDURE ......................................................................13
2.1.1 Khái niệm ................................................................................. 13
2.1.2 Các đặc điểm ............................................................................ 14
2.1.3 Cú pháp khai báo thủ tục .......................................................... 13
2.2 HÀM-FUNCTION..................................................................................14
2.2.1 Khái niệm ................................................................................. 14
2.2.2 Các đặc điểm ............................................................................ 15
2.2.3 Cú pháp khai báo hàm .............................................................. 15
2.3 ĐƠN THỂ-MODULE.............................................................................16
2.3.1 Khái niệm ................................................................................. 16
2.3.2 Phân loại đơn thể ...................................................................... 16
2.4 NAMESPACE ........................................................................................16
2.5 TẦM VỰC ..............................................................................................16
2.5.1 Tầm vực khối lệnh.................................................................... 17
2.5.2 Tầm vực Thủ tục, Hàm............................................................ 18
2.5.3 Tầm vực đơn thể....................................................................... 18
2.5.4 Tầm vực namespace ................................................................. 19
2.6 TÀI LIỆU THAM KHẢO.......................................................................20
ii
3.3.2 Phân loại đơn thể ...................................................................... 22
3.4 PHƯƠNG PHÁP LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG ........................22
3.5 CÁC NGÔN NGỮ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG......................22
iii
Chương 5 PHƯƠNG THỨC THIẾT LẬP CONSTRUCTORS.. 32
iv
Chương 8 CƠ SỞ DỮ LIỆU ........................................................... 48
v
A.2 KIỂU THAM CHIẾU ............................................................................58
A.3 ĐỐI TƯỢNG TRONG VB.NET ...........................................................59
A.3.1 Khái niệm................................................................................. 59
A.3.2 Cú pháp.................................................................................... 59
A.3.3 Các qui định khi khai báo đối tượng........................................ 59
A.4 TÀI LIỆU THAM KHẢO......................................................................60
vi
D.1 CẤU TRÚC ĐIỀU KHIỂN RẼ NHÁNH ..............................................66
D.1.1 Cấu trúc điều khiển rẽ nhánh if với lệnh đơn .......................... 66
D.1.2 Cấu trúc điều khiển rẽ nhánh if với lệnh phức......................... 66
D.1.3 Cấu trúc điều khiển rẽ nhánh if else ........................................ 66
D.1.4 Cấu trúc điều khiển rẽ nhánh if else lồng nhau........................ 67
D.1.5 Cấu trúc điều khiển rẽ nhánh select case ................................. 67
D.2 CẤU TRÚC ĐIỀU KHIỂN VÒNG LẶP...............................................68
D.2.1 Cấu trúc điều khiển vòng lặp For…Next................................. 68
D.2.2 Cấu trúc điều khiển vòng lặp For Each…Next........................ 69
D.2.3 Cấu trúc điều khiển vòng lặp While…End While ................... 69
D.2.4 Cấu trúc điều khiển vòng lặp Do While…Loop ...................... 70
D.2.5 Cấu trúc điều khiển vòng lặp Do…Loop While ...................... 70
D.2.6 Cấu trúc điều khiển vòng lặp Do…Loop Until........................ 70
D.2.7 Cấu trúc điều khiển vòng lặp Do Until…Loop........................ 70
D.3 TÀI LIỆU THAM KHẢO......................................................................71
vii
Chương 01. Mở Đầu
CHƯƠNG 1 MỞ ĐẦU
Biến toàn cục là biến được khai báo bên ngoài tất cả các hàm, thủ tục
và được hiểu bên trong tất cả các hàm và thủ tục.
Thông thường biến toàn cục được khai báo ở đầu đơn thể .
1.1.2 Lưu ý
Biến khai báo bên trong thủ tục main không là biến toàn cục mà là
biến cục bộ của thủ tục main.
Module Module1
Public HoTen As String
Public Toan As Integer
Public Van As Integer
Public DiemTrungBinh As Double
Sub Main()
Console.Write("Nhap ho ten:")
HoTen = Console.ReadLine()
Console.Write("Nhap toan:")
Toan = Console.ReadLine()
Console.Write("Nhap van:")
Van = Console.ReadLine()
Trong phần này hướng dẫn cách thức viết chương trình với VB.NET
ở mức Console Application.
Việc viết chương trình trong mode này nhằm giúp cho người học
từng bước làm quen với môi trường lập trình VB.NET một cách vững chắc
trước khi học cách thức xây dựng ứng dụng trên môi trường Windows.
Đầu tiên người học phải cài đặt bộ Visual Studio 2005 lên
máy tính của mình, đây là điều kiện tiên quyết để thực hành tất cả những
kiến thức được trình bày trong sách.
Sau đây là chi tiết các bước hướng dẫn mà chúng ta nên đọc và thực
hiện ngay cùng một lúc trên máy tính để đạt được hiệu quả cao nhất:
- Cửa số Explorer
Bước 7: Quan sát cửa số Output. Cửa sổ Output là cửa sổ cung cấp
thông tin về kết quả dịch Solution.
Lập trình trong môi trường VB.NET hỗ trợ người lập trình rất nhiều
trong việc chọn thực hiện phương thức thực hiện như hình trên do đó khi
lập trình ta không cần gõ đầy đủ tên phương thức mà thông thường chỉ cần
gõ 3 ký tự đầu và nhấn phím Tab để chọn luôn phương thức.
Biến cục bộ là biến được hiểu bên trong một phạm vi nào đó của
chương trình. Ra khỏi phạm vi này, nó không còn được biết đến nữa.
1.2.2 Lưu ý
Một biến được khai báo bên trong thân hàm main thì được gọi là
biến cục bộ của hàm main tức là nó chỉ được hiểu bên trong thân hàm main
mà thôi.
Module Module1
Sub Main()
Dim HoTen As String
Dim Toan As Integer
Dim Van As Integer
Dim DiemTrungBinh As Integer
Console.Write("Nhap ho ten:")
HoTen = Console.ReadLine()
Console.Write("Nhap toan:")
Toan = Console.ReadLine()
Console.Write("Nhap van:")
Van = Console.ReadLine()
DiemTrungBinh = (Toan + Van) / 2
Console.WriteLine("Ho ten :" & HoTen)
Bước 4: Kích hoạt Project Muc02. Bằng cách nhấp phải chuột
vào tên Project Muc02 và chọn lệnh Set As StartUp Project.
Cấu trúc của một chương trình VB.NET đơn giản nhất là có duy nhất
một mô đun và trong mô đun này sẽ chứa thủ tục main và các hàm, các thủ
tục cần thiết khác.
Để khai báo một biến toàn cục cho một đơn thể ta chỉ cần khai báo
biến đó ở đầu đơn thể. Khi đó biến toàn cục của đơn thể sẽ được hiểu trong
tất cả các hàm của đơn thể nếu không gặp phải vấn đề trùng tên với biến địa
phương.
Module Module1
Dim HoTen As String
Dim Toan As Integer
Dim Van As Integer
Dim DiemTrungBinh As Double
Sub Main()
Nhap()
XuLy()
Xuat()
End Sub
End Module
Bước 4: Kích hoạt Project Muc03. Bằng cách nhấp phải chuột
vào tên Project Muc03 và chọn lệnh Set As StartUp Project.
Các thông số đầu vào của một hàm được gọi là tham số của hàm.
Tham số (parameter) là các tên (định danh) được các thủ tục, hàm
dùng để nhận thông tin đầu vào để thực hiện các xử lý. Khi một hàm, thủ
tục được gọi thì nó sẽ đòi hỏi các đối số cụ thể tương ứng với các tham số
và thông thường các đối số này phải được gán giá trị cụ thể trước khi hàm,
thủ tục thực thi.
- Tham biến: thay đổi (về mặt giá trị sau lời gọi hàm). Tham số
loại này trong VB.NET được khai báo với từ khóa ByRef.
- Tham trị: Không đổi (về mặt giá trị sau lời gọi hàm). Tham số
loại này trong VB.NET được khai báo với từ khóa ByVal.
Module Module1
Public Sub Nhap(ByRef HoTen As String,
Bước 4: Kích hoạt Project Muc04. Bằng cách nhấp phải chuột
vào tên Project Muc04 và chọn lệnh Set As StartUp Project.
Khái niệm: Kiểu cấu trúc là một phương pháp dùng để tích hợp các
kiểu dữ liệu đơn thành kiểu dữ liệu phức để mô tả thông tin của một đối
tượng hay một khái niệm trong thế giới thực.
Để truy xuất đến 1 thành phần của biến cấu trúc ta dùng toán tử
chấm (dot operator).
Module Module1
Structure HocSinh
Dim HoTen As String
Dim Toan As Integer
Dim Van As Integer
Dim DiemTrungBinh As Double
End Structure
Sub Main()
Dim hs As HocSinh
Nhap(hs)
XuLy(hs)
Xuat(hs)
End Sub
End Module
Module Module1
Structure PhanSo
Dim Tu As Integer
Dim Mau As Integer
End Structure
Public Sub Nhap(ByRef x As PhanSo)
Console.Write("Nhap tu:")
x.Tu = Console.ReadLine()
Console.Write("Nhap mau:")
x.Mau = Console.ReadLine()
End Sub
Public Sub RutGon(ByRef x As PhanSo)
Dim a As Integer = Math.Abs(x.Tu)
Dim b As Integer = Math.Abs(x.Mau)
While (a*b<>0)
If (a>b) Then
a = a – b
Else
b = b – a
End If
End While
x.Tu=x.Tu/(a+b)
x.Mau=x.Mau/(a+b)
End Sub
Sub Main()
Dim ps As PhanSo
Nhap(ps)
RutGon(ps)
Xuat(ps)
End Sub
End Module
Module Module1
Structure Diem
Dim x As Double
Dim y As Double
End Structure
Public Function Nhap() As Diem
Dim temp As Diem
Console.Write("Nhap x:")
temp.x = Console.ReadLine()
Console.Write("Nhap y:")
temp.y = Console.ReadLine()
Return temp
End Function
Public Sub Xuat(ByVal P As Diem)
Console.Write("(" & P.x & "," & P.y & ")")
End Sub
Public Function KhoangCach(
ByVal P As Diem,
ByVal Q As Diem) As Double
Return Math.Sqrt((P.x - Q.x) * (P.x - Q.x)
+ (P.y - Q.y) * (P.y - Q.y))
End Function
Sub Main()
Dim A As Diem
Dim B As Diem
Dim kc As Double
A = Nhap()
B = Nhap()
kc = KhoangCach(A, B)
Xuat(A)
Xuat(B)
End Sub
End Module
1. Viết chương trình nhập vào một phân số. Hãy cho biết
phân số đó là phân số âm hay dương hay bằng không.
3. Viết chương trình nhập vào 2 phân số. Tìm phân số lớn
nhất và kết quả.
7. Viết chương trình nhập vào một ngày. Tìm ngày hôm
qa và xuất kết quả.
Một thủ tục là dãy các câu lệnh để thực thi một công việc, một chức
năng đặc thù nào đó, thủ tục được xem như là một thành phần của chương
trình. Nói một cách khác, thủ tục là các câu lệnh được nhóm vào một khối
và được đặt tên [3].
Các thủ tục có thể được gọi để thi hành (thường là thông qua tên của
thủ tục đó). Điều này cho phép gọi tới những thủ tục nhiều lần mà không
cần phải lặp lại các khối lệnh giống nhau một khi đã hoàn tất việc viết mã
lệnh cho các thủ tục đó chỉ một lần [3].
Cấu trúc tổng quát của việc định nghĩa một thủ tục là như sau:
[<attributelist>] [accessmodifier]
[proceduremodifiers] [Shared] [Shadows]
Sub name [(Of typeparamlist)] [(parameterlist)]
[Implements implementslist | Handles eventlist]
[ statements ]
[ Exit Sub ]
[ statements ]
End Sub
Thông dụng nhất của việc khai báo thủ tục là như sau:
- Từ khóa để tham khảo khái niệm thủ tục trong MSDN là “Sub
Procedures, Sub Statement” [2].
- Thủ tục được xem giống như một hàm nhưng không có giá trị
trả về.
2.2 HÀM-FUNCTION
Một hàm là dãy các lệnh để thực thi một thao tác đặc thù nào đó như
là một phần của chương trình lớn hơn. Nói một cách khác hàm là các câu
lệnh được nhóm vào một khối, được đặt tên và có một giá trị trả về [3].
Các hàm có thể được gọi để thi hành (thường là thông qua tên của
hàm). Điều này cho phép gọi tới hàm nhiều lần mà không cần phải lặp lại
các khối mã giống nhau một khi đã hoàn tất việc viết mã cho các hàm đó
chỉ một lần [3].
Trong VB.NET quan niệm hàm là một thủ tục có giá trị trả về.
Cấu trúc tổng quát của việc định nghĩa và khai báo một hàm tương tự
như thủ tục.
[<attributelist>][accessmodifier][proceduremodifiers]
[Shared][Shadows]
Function name [(Of typeparamlist)] [(parameterlist)]
[As returntype]
[Implements implementslist | Handles eventlist]
[ statements ]
[ Exit Function ]
[ statements ]
End Function
Thông dụng nhất của việc khai báo hàm là như sau:
Đơn thể là một hệ thống các thủ tục và hàm được thiết kế và xây
dựng để phục vụ cho một chức năng nào đó trong chương trình.
2.4 NAMESPACE
Trong VB.NET phân biệt tầm vực theo cấp độ như sau:
Mức (Level) Mô tả
Khối lệnh Tầm vực của các biến loại này chỉ thuộc phạm vi khối
Block scope lệnh mà biến được khai báo.
Thủ tục, Hàm Tầm vực của các biến loại này thuộc phạm vi Thủ tục,
Procedure scope Hàm mà biến được khai báo.
Đơn thể Tầm vực của các biến loại này thuộc phạm vi Đơn thể
Module scope (Module), Lớp (class), hoặc Cấu Trúc
(Structure) mà biến được khai báo.
Không gian tên Tầm vực của các biến loại này được hiểu trong toàn phạm
Namespace scope vi namespace mà nó được khai báo.
Từ khóa để tham khảo khái niệm tầm vực trong MSDN là “scope,
about scope”
Trong VB.NET “khối lệnh” được xem là một trong các cấu trúc điều
khiển như sau [2]:
- Do and Loop
- For [Each] and Next
- If and End If
- Select and End Select
- SyncLock and End SyncLock
- Try and End Try
- While and End While
- With and End With
If n < 5 Then
Trong VB.NET “tầm vực thủ tục hàm” được xem là một trong các
cấu trúc sau:
Lưu ý: Trong VB.NET quan niệm hàm giống như một thủ tục nhưng
có giá trị trả về.
Trong VB.NET “tầm vực đơn thể” được xem là một trong các cấu
trúc sau:
- Đơn thể-Module.
- Lớp đối tượng-Class.
- Cấu trúc-Structure.
Để khai báo biến thuộc tầm vực đơn thể ta làm như sau:
- Xét câu lệnh Dim của khai báo biến bên trong module,
class, or structure, nhưng không nằm bên trong bất cứ
thủ tục, hàm nào của đơn thể đó.
- Thay câu lệnh Dim bằng từ khóa chỉ phạm vi private.
- Khi đó ta có thể truy xuất tới biến trong bất cứ nơi đâu thuộc
đơn thể và các biến loại này không được truy xuất từ bên
ngoài đơn thể.
Để khai báo biến thuộc tầm vực namespace ta làm như sau:
- Xét câu lệnh Dim của khai báo biến bên trong module,
class, hoặc structure, nhưng không nằm bên trong bất
cứ thủ tục, hàm nào của đơn thể đó.
- Thay câu lệnh Dim bằng từ khóa chỉ phạm vi friend hoặc
public.
- Khi đó ta có thể truy xuất tới biến trong bất cứ nơi đâu thuộc
phạm vi namespace chứa module, class hoặc
structure.
Lưu ý: Biến, đối tượng thuộc tầm vực namespace còn có thể được
gọi là tầm vực trong toàn bộ dự án (project).
Trong phương pháp này người ta xem chương trình là tập hợp các
lệnh. Khi đó việc viết chương trình là xác định xem chương trình gồm
những lệnh nào, thứ tự thực hiện của chúng ra sao.
Trong phương pháp này người ta xem chương trình là một hệ thống
các thủ tục và hàm. Trong đó, mỗi thủ tục và hàm là một dãy các lệnh được
sắp thứ tự. Khi đó, việc viết chương trình là xác định xem chương trình
gồm các thủ tục và hàm nào, mối quan hệ giữa chúng ra sao?
Trong phương pháp này người ta xem chương trình là 1 hệ thống các
đơn thể, mỗi đơn thể là 1 hệ thống các thủ tục và hàm. Khi đó, việc viết
chương trình là xác định xem chương trình gồm những đơn thể nào? Đơn
thể nào đã có sẵn, đơn thể nào phải đi mua, đơn thể nào phải tự viết.
Trong phương pháp này người ta xem chương trình là một hệ thống
các đối tượng, mỗi một đối tượng là sự bao bọc bên trong nó 2 thành phần:
Dữ liệu: là các thông tin về chính đối tượng. Trong một số sách,
thành phần này còn được gọi là thành phần thuộc tính, thông tin .
Hành động: là các khả năng mà đối tượng có thể thực hiện. Thành
phần này còn có các tên như sau: phương thức, hàm thành phần, hành vi.
Mỗi một đối tượng sẽ được cài đặt trong chương trình với dạng đơn
thể chứa dữ liệu. Thêm vào đó tính chất kế thừa cho phép chúng ta xây
dựng đối tượng mới dựa trên cơ sở đối tượng đã có.
Ngôn ngữ lập trình hướng đối tượng đầu tiên là SMALLTALK.
Ngoài ra cho tới thời điểm hiện nay có các ngôn ngữ hỗ trợ hướng đối
tượng như sau: Eiffel, CLos, Lopps, Flavors, Pascal, C++, Delphi, Java,
Python, C#, VB.Net, ...
Lớp hiểu một cách đơn giản là sự tích hợp giữa hai thành phần:
thành phần dữ liệu và thành phần xử lý.
Đối tượng là 1 sự thể hiện của lớp. Một lớp có thể có nhiều sự thể
hiện khác nhau.
Ví dụ minh hoạ:
Phương thức là khả năng mà đối tượng thuộc về lớp có thể thực hiện.
Đối tượng hành động là đối tượng thực hiện khả năng mà lớp nó
thuộc về có.
Ví dụ:
Module Module1
Sub Main()
Dim hs As New CHocSinh
hs.Nhap()
hs.XuLy()
hs.Xuat()
End Sub
End Module
Module Module1
Sub Main()
Dim ps As New CPhanSo
ps.Nhap()
ps.RutGon()
ps.Xuat()
End Sub
End Module
End Class
Module Module1
Sub Main()
Dim A As New CDiem
Dim B As New CDiem
Dim kc As Double
A.Nhap()
B.Nhap()
kc = A.KhoangCach(B)
A.Xuat()
B.Xuat()
Console.Write(vbLf & "Khoang cach giua hai diem
la:" & kc)
End Sub
End Module
4.7 BÀI TẬP LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI VB.NET
Hãy làm các bài tập dưới đây bằng phương pháp lập trình hướng đối
tượng với ngôn ngữ VB.NET
8. Viết chương trình nhập vào một phân số. Hãy cho biết
phân số đó là phân số âm hay dương hay bằng không.
10. Viết chương trình nhập vào 2 phân số. Tìm phân số lớn
nhất và kết quả.
11. Viết chương trình nhập vào 2 số phức. Tính tổng, hiệu,
tích và xuất kết quả.
12. Viết chương trình nhập toạ độ 3 đỉnh A,B,C của 1 tam
giác trong mặt phẳng Oxy. Tính chu vi của tam giác và
xuất ra kết quả.
13. Viết chương trình nhập vào một ngày. Tìm ngày kế
tiếp và xuất kết quả.
14. Viết chương trình nhập vào một ngày. Tìm ngày hôm
qua và xuất kết quả.
Các phương thức thiết lập của một lớp có nhiệm vụ thiết lập thông
tin ban đầu cho các đối tượng thuộc về lớp ngay khi đối tượng được khai
báo.
- Phương thức thiết lập của lớp được định nghĩa thông qua toán
tử new.
- Không có giá trị trả về.
- Được tự động gọi thực hiện ngay khi đối tượng được khai
báo.
- Có thể có nhiều phương thức thiết lập trong một lớp.
- Trong một quá trình sống của đối tượng thì chỉ có 1 lần duy
nhất phương thức thiết lập được gọi thực hiện đó là khi đối
tượng được khai báo.
- Các phương thức thiết lập của lớp thuộc nhóm các phương
thức khởi tạo.
Khi khai báo một lớp đối tượng trong VB.NET ta phải định nghĩa ít
nhất một phương thức thiết lập cho lớp đó. Thông thường các lập trình viên
chọn là phương thức thiết lập mặc định (không nhận tham số đầu vào). Tuy
nhiên, đây không phải là phương thức thiết lập bắt buộc phải định nghĩa.
Để đơn giản ta có thể chia các phương thức thiết lập của một lớp
thành 3 nhóm như sau:
Về mặt nguyên tắc có bao nhiêu phương thức khởi tạo thì có bấy
nhiêu phương thức thiết lập, phương thức khởi tạo mặc định thì tương ứng
với phương thức thiết lập mặc định, phương thức khởi tạo dựa vào 1 đối
tượng khác tương ứng 1 phương thức thiết lập sao chép, các phương thức
khởi tạo còn lại tương ứng với lại phương thức thiết lập nhận tham số đầu
vào.
Bài mẫu 8. Hãy xác định và cài đặt các phương thức
thiết lập cho lớp phân số.
- Phương thức thiết lập mặc định: tử số được lấy mặc định là 0 và
mẫu số được lấy mặc định là 1.
- Phương thức thiết lập khi biết tử số: tử số được gán giá trị
tương ứng với giá trị của đối số đầu vào và mẫu số được lấy
mặc định là 1.
- Phương thức thiết lập khi biết đầy đủ thông tin: tử số và mẫu số
được gán giá trị tương ứng với giá trị của các đối số đầu vào.
- Phương thức thiết lập sao chép: nhận tham số đầu vào là một
đối tượng cùng thuộc về lớp phân số và tạo ra một đối tượng
phân số mới giống hoàn toàn đối tượng phân số đối số tương
ứng.
Tu = 0
Mau = 1
End Sub
Module Module1
Sub Main()
15. Hãy xác định và cài đặt các phương thức thiết lập cho
lớp điểm trong mặt phẳng Oxy.
16. Hãy xác định và cài đặt các phương thức thiết lập cho
lớp đường tròn trong mặt phẳng Oxy.
17. Hãy xác định và cài đặt các phương thức thiết lập cho
lớp số phức.
18. Hãy xác định và cài đặt các phương thức thiết lập cho
lớp tam giác trong mặt phẳng Oxy.
19. Hãy xác định và cài đặt các phương thức thiết lập cho
lớp ngày.
Mục tiêu: Phương thức phá huỷ có nhiệm vụ dọn dẹp “xác chết” của
đối tượng khi đối tượng “đi bán muối”. Nói cách khác, phương thức phá
huỷ có nhiệm vụ thu hồi lại tất cả các tài nguyên đã cấp phát cho đối tượng
trong quá trình sống của đối tượng khi đối tượng hết phạm vi hoạt động.
- Phương thức thiết lập của lớp được định nghĩa thông qua toán
tử Finalize.
- Không có giá trị trả về.
- Không có tham số đầu vào.
- Được tự động gọi thực hiện khi đối tượng hết phạm vi sử
dụng.
- Phương thức phá huỷ thuộc nhóm các phương thức xử lý.
- Có và chỉ có duy nhất một phương thức phá huỷ trong 1 lớp
mà thôi.
- Từ khóa để tham khảo trong MSDN là “Finalize
destructor”.
Bài mẫu 9. Hãy xác định và cài đặt các phương thức
thiết lập cho lớp phân số.
Câu lệnh Property được sử dụng để dùng để gán giá trị cho một
thuộc tính, một biến thành phần hoặc lấy giá trị của một thuộc tính, một
biến thành phần đã được khai báo trong Module, Class hoặc
Structure.
[<attributelist>][Default][accessmodifier]
[propertymodifiers][Shared][Shadows]
[ReadOnly|WriteOnly]
7.3 VÍ DỤ
Module Module1
Sub Main()
Dim hs As New ChocSinh
hs._MaSo = 5
Dim a As Integer = hs._MaSo
...
End Sub
End Module
Module Module1
Sub Main()
Dim a As New CPhanSo
Dim b As New CPhanSo
a.Nhap()
b.Nhap()
Dim kq As CPhanSo
kq = a + b
kq.Xuat()
End Sub
End Module
Khái niệm: Toán tử gán trong các ngôn ngữ lập trình được sử dụng
để gán giá trị của biến này cho biến khác. Trong ngôn ngữ lập trình hướng
đối tượng toán tử gán được sử dụng để gán thành phần dữ liệu của đối
tượng này cho đối tượng khác.
Trong ngôn ngữ lập trình VB.NET toán tử gán có ý nghĩa hai đối
tượng cùng tham chiếu tới một địa chỉ bộ nhớ.
Trong ngôn ngữ VB.NET cung cấp các toán tử so sánh như sau:
- Toán tử overload được sử dụng để tái định nghĩa lại các thuộc
tính hay thủ tục có cùng một tên
Toán tử ép kiểu được sử dụng để ép một đối tượng thuộc lớp này
thành một đối tượng thuộc lớp khác.
CHƯƠNG 9 CƠ SỞ DỮ LIỆU
9.1.2 Các đặc điểm chính của lớp đối tượng OleDbConnection
System.Object
System.MarshalByRefObject
System .ComponentModel.Component
System.Data.Common.DbConnection
System.Data.Odbc.OdbcConnection
System.Data.OleDb.OleDbConnection
Danh sách các thuộc tính thuộc phạm vi public của lớp đối tượng
OleDbConnection.
Các thuộc tính thuộc phạm vi public của lớp đối tượng OleDbConnection
TT Tên thuộc tính Ý nghĩa
Overridden. Gets or sets the string used to open a
1 ConnectionString
database.
Overridden. Gets the time to wait while trying to
2 ConnectionTimeout establish a connection before terminating the attempt
and generating an error.
Gets the IContainer that contains the
3 Container
Component.(Inherited from Component.)
Overridden. Gets the name of the current database or
4 Database
the database to be used after a connection is opened.
Overridden. Gets the server name or file name of the
5 DataSource
data source.
Gets the name of the OLE DB provider specified in
6 Provider
the "Provider= " clause of the connection string.
Overridden. Gets a string that contains the version of
7 ServerVersion
the server to which the client is connected.
Gets or sets the ISite of the Component.(Inherited
8 Site
from Component.)
9 State Overridden. Gets the current state of the connection
Danh sách các thuộc tính thuộc phạm vi protected của lớp đối tượng
OleDbConnection.
Các thuộc tính thuộc phạm vi protected của lớp đối tượng OleDbConnection
TT Tên thuộc tính Ý nghĩa
Gets a value indicating whether the component can
1 CanRaiseEvents
raise an event.(Inherited from Component.)
Gets a value that indicates whether the Component is
2 DesignMode currently in design mode.(Inherited from
Component.)
Các thuộc tính thuộc phạm vi protected của lớp đối tượng OleDbConnection
TT Tên thuộc tính Ý nghĩa
Gets the list of event handlers that are attached to
3 Events
this Component.(Inherited from Component.)
- OleDbConnection ()
- OleDbConnection (String)
Trong đó phương thức thiết lập mặt định sẽ tạo ra một thể hiện (một
đối tượng) của lớp OleDbConnection.
Phương thức thiết lập nhận tham số đầu vào là một chuỗi ký tự tương
ứng với chuỗi kết nối dữ liệu.
9.1.7 Các phương thức chính của lớp đối tượng OleDbConnection
Hàm cài đặt dưới đây thực hiện kết nối với cơ sở dữ liệu
HocSinh.mdb được tạo bởi Microsoft Access. Tập tìn HocSinh.mdb được
để trong thư mục Bin hoặc thư mục Release trong thư mục Bin của project
đang viết.
End Try
End Function
9.2.2 Các đặc điểm chính của lớp đối tượng OleDbCommand
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Data.Common.DbCommand
System.Data.Odbc.OdbcCommand
System.Data.OleDb.OleDbCommand
System.Data.OracleClient.OracleCommand
System.Data.SqlClient.SqlCommand
System.Data.SqlServerCe.SqlCeCommand
Danh sách các thuộc tính thuộc phạm vi public của lớp đối tượng
OleDbCommand.
Các thuộc tính thuộc phạm vi public của lớp đối tượng OleDbCommand
TT Tên thuộc tính Ý nghĩa
CommandText Overridden. Gets or sets the SQL statement or stored
1
procedure to execute at the data source.
CommandTimeout Overridden. Gets or sets the wait time before
2 terminating an attempt to execute a command and
generating an error.
CommandType Overridden. Gets or sets a value that indicates how
3
the CommandText property is interpreted.
Connection Gets or sets the OleDbConnection used by this
4
instance of the OleDbCommand.
Container Gets the IContainer that contains the
5
Component.(Inherited from Component.)
DesignTimeVisible Overridden. Gets or sets a value that indicates
6 whether the command object should be visible in a
customized Windows Forms Designer control.
7 Parameters Gets the OleDbParameterCollection.
Site Gets or sets the ISite of the Component.(Inherited
8
from Component.)
Transaction Gets or sets the OleDbTransaction within which the
9
OleDbCommand executes.
UpdatedRowSource Overridden. Gets or sets how command results are
10 applied to the DataRow when used by the Update
method of the OleDbDataAdapter.
Danh sách các thuộc tính thuộc phạm vi protected của lớp đối tượng
OleDbCommand.
Các thuộc tính thuộc phạm vi protected của lớp đối tượng OleDbCommand
TT Tên thuộc tính Ý nghĩa
CanRaiseEvents Gets a value indicating whether the component can
1
raise an event.(Inherited from Component.)
Các thuộc tính thuộc phạm vi protected của lớp đối tượng OleDbCommand
TT Tên thuộc tính Ý nghĩa
DesignMode Gets a value that indicates whether the Component is
2 currently in design mode.(Inherited from
Component.)
Events Gets the list of event handlers that are attached to
3
this Component.(Inherited from Component.)
- OleDbCommand ()
- OleDbCommand (String)
- OleDbCommand (String, OleDbConnection)
- OleDbCommand (String, OleDbConnection,
OleDbTransaction)
9.2.7 Các phương thức chính của lớp đối tượng OleDbCommand
9.3 SR
System.Object
System.MarshalByRefObject
System.Data.Common.DbDataReader
System.Data.OleDb.OleDbDataReader
IsClosed and RecordsAffected are the only properties that you can
call after the OleDbDataReader is closed. Although the RecordsAffected
property may be accessed while the OleDbDataReader exists, always call
Close before returning the value of RecordsAffected to guarantee an
accurate return value.
Các kiểu dữ liệu cơ sở là các kiểu dữ liệu được cung cấp bởi Trình
Biên Dịch (compiler). Giá trị của các kiểu dữ liệu này luôn luôn được phép
truy xuất một cách trực tiếp. Mặt khác VB.NET là một ngôn ngữ hoàn toàn
huớng đối tượng nên ta có thể nói các kiểu dữ liệu cơ sở là: các
lớp đối tượng cơ sở và các lớp này đều kế thừa từ lớp
System.Object.
Structure PhanSo
Dim Tu As Integer
Dim Mau As Integer
End Structure
- Structure được xem như là một đơn thể đơn (single unit).
- Structure không được kế thừa từ một kiểu dữ liệu khác.
- Một Class-Lớp đối tượng không được kế thừa từ Structure.
A.3.2 Cú pháp
Ví dụ 2: Khai báo và khởi gán giá trị ban đầu là 100 đối tượng n
thuộc lớp Integer.
Ví dụ: Các cách thúc đặt tên đối tượng dưới đây là sai:
Ví dụ:
Module Module1
Sub Main()
Dim n As Integer
Console.Write("Nhap n:")
n = Console.ReadLine()
Select Case n
Case 0
Console.Write("Khong biet gi het")
Case Is < 5
Console.Write("Rot")
Case 5 To 6
Console.Write("Dau Trung Binh")
Case 7 To 8
Console.Write("Kha")
Case 8 To 10
Console.Write("Gioi")
Case Else
Console.Write("Khong hop le")
End Select
End Sub
End Module
Trong cấu trúc trên biến chỉ số (bienchiso) được tăng mặc định
lên 1 ở cuối mỗi lần lặp. Hoặc
Câu lệnh 2
...
Next bienchiso
Trong cấu trúc trên biến chỉ số (bienchiso) được tăng lên theo
BuocTang ở cuối mỗi lần lặp. Hoặc
Trong cấu trúc trên biến chỉ số (bienchiso) được tăng lên theo
<BuocTang> ở cuối mỗi lần lặp và không chỉ ra bienchiso trong câu
lệnh next. Hoặc dạng tổng quát của cấu trúc điều khiển vòng lặp For
...
End While
Do
Câu lệnh 1
Câu lệnh 2
...
Loop While(<điều kiện lặp>)
Do
Câu lệnh 1
Câu lệnh 2
...
Loop Until(<điều kiện dừng>)