Tải bản đầy đủ (.pdf) (135 trang)

Giáo trình Lập trình cơ sở dữ liệu: Phần 1 - ĐH Sư phạm kỹ thuật Nam Định

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.22 MB, 135 trang )

MỤC LỤC
MỤC LỤC ........................................................................................................................ 1
Chương 1. Tìm hiểu mơi trường .NET và Visual Basic.NET ...................................... 6
2. Các thành phần của MicroSoft .NET framework .................................................... 6
3. Tìm hiểu về Metadata .................................................................................................. 7
4. Tìm hiểu về Common Language Runtime- CRL ...................................................... 8
5. Tổ chức thư viện đối tượng bằng không gian tên (namespaces) ............................. 8
6. Tìm hiểu mã IL của .NET ......................................................................................... 10
7. Đóng gói chương trình .NET trong gói Assembly ................................................... 11
8. Giới thiệu Visual Studio.NET ................................................................................... 11
8.1. Môi trường phát triển Visual studio.NET ............................................................. 11
8.2. Khởi động Visual studio.NET .............................................................................. 11
8.3. Mở một dự án mới của Visual Basic .................................................................... 12
8.4. Mở một dự án cụ thể ............................................................................................. 13
8.5. Dự án (Project) và giải pháp (Solutions) .............................................................. 14
8.6. Các công cụ của Visual Studio.NET .................................................................... 14
8.6.1 Thanh tiêu đề (Title Bar) .................................................................................... 15
8.6.2 Thanh thực đơn (Menu Bar) ............................................................................... 15
8.6.3 Thanh công cụ (Tool Bar):.................................................................................. 15
8.6.4 Hộp công cụ (ToolBox) ...................................................................................... 16
8.7. Bộ thiết kế Windows Forms Designer .................................................................. 16
8.8. Chạy một chương trình Visual Basic ................................................................... 16
8.9. Cửa sổ thuộc tính Properties ................................................................................. 16
8.10. Thốt khỏi Visual Studio.NET ........................................................................... 17

Chương 2. Cơ sở lập trình trong Visual Basic.NET ............................................18
2.1. Kiểu dữ liệu cơ sở .................................................................................................... 18
2.2. Khai báo biến .......................................................................................................... 18
2.2.1. Khai báo nhiều biến .......................................................................................... 18
2.2.1. Phạm vi hoạt động của biến .............................................................................. 19
2.3. Khai báo hằng (Constants)..................................................................................... 19


2.4. Toán tử ..................................................................................................................... 20
2.4.1. Toán tử số học.................................................................................................... 20
2.4.1. Toán tử so sánh .................................................................................................. 20
2.4.2. Toán tử gán ........................................................................................................ 20
2.5. Một số hàm chuẩn ................................................................................................... 21
2.5.1 Hàm đại số .......................................................................................................... 21
2.5.2 Hàm thời gian ..................................................................................................... 22
2.6. Quy ước viết lệnh .................................................................................................... 23
2.6.1. Viết lời chú thích ............................................................................................... 23
2.6.2. Ngăn cách các câu lệnh trên một dòng .............................................................. 23

1


2.6.3. Kéo dài câu lệnh trên hai dòng........................................................................... 23
2.7. Lệnh IF…THEN ..................................................................................................... 24
2.8. Câu lệnh Select ...Case ............................................................................................ 25
2.9. Vòng lặp ................................................................................................................... 26
2.9.1.Lệnh lặp For ... Next ........................................................................................... 26
2.9.2. Vòng lặp không xác định ................................................................................... 26
2.10. Phương thức Console.Read và Console.Readln ................................................. 27
2.11. Phương thức Console.Write và phương thức Console.Writeline ..................... 27
2.12. Chương trình con .................................................................................................. 28
2.12.1. Các thủ tục và hàm do người dùng xác định .................................................... 28
2.12.2. Khai báo thủ tục và hàm .................................................................................. 28
1.12.3. Lời gọi thủ tục, hàm ......................................................................................... 29
2.12.4. Thoát khỏi thủ tục / hàm .................................................................................. 30
2.12.5 Tham số và việc truyền tham số cho chương trình con .................................... 30
2.12.6. Biến địa phương/biến tồn cục ........................................................................ 32
2.13. Kiểu mảng (Array) ................................................................................................ 34

2.14. Kiểu dữ liệu do người dùng tự định nghĩa .......................................................... 34
2.15. Lớp Collections ...................................................................................................... 35
2.16. Bẫy lỗi ..................................................................................................................... 35

Chương 3. Lập trình hướng đối tượng ................................................................. 37
3.1. Tạo một lớp (Class) mới ......................................................................................... 37
3.2. Lớp và không gian tên (namespace) ...................................................................... 37
3.3. Khai báo phương thức (Methods) ......................................................................... 38
3.4. Khai báo thuộc tính (Properties) ........................................................................... 40
3.5. Thuộc tính kiểu ReadOnly và WriteOnly ............................................................. 41
2.6. Thuộc tính ngầm định (Default Property) ............................................................ 41
3.6. Định nghĩa chồng phương thức (Overloading method)....................................... 42
3.7. Vòng đời của đối tượng (Object Lifecycle) ........................................................... 43
3.8. Thừa kế .................................................................................................................... 45
3.9. Các thành phầ n dùng chung của class .................................................................. 49
3.10. Biến dùng chung (Shared variable) ..................................................................... 50
3.11. Biến toàn cục (Global variable) ........................................................................... 51
3.12. Sinh sự kiện (Raising Event) để xử lý trong một Project khác ......................... 52
3.13. Sử du ̣ng mô ̣t số lớp đố i tươ ̣ng dưṇ g sẵn ............................................................. 54
3.13.1. Làm việc với Clipboard ................................................................................... 54
3.13.2. Lấ y thông tin về thời gian hê ̣ thố ng ................................................................. 55
3.13.3. Lấ y thông tin hê ̣ thố ng ..................................................................................... 56
3.13.4. Chơi nha ̣c ......................................................................................................... 56
2


3.13.5. Sử du ̣ng chuô ̣t .................................................................................................. 57
3.13.6. Sử du ̣ng bàn phim
́ ............................................................................................ 57


Chương 4. Làm việc với các điều khiển ................................................................58
4.1. Một số thao tác với các điều khiển ........................................................................ 58
4.1.1. Đưa điều khiển vào biểu mẫu (form) ................................................................. 58
4.1.2. Chọn một đối tượng trên Form .......................................................................... 58
4.1.3 Di chuyển đối tượng ........................................................................................... 58
4.1.4 Hiệu chỉnh kích thước đối tượng ........................................................................ 58
4.1.5. .Khoá các điều khiển (locked Điều khiển) ......................................................... 59
4.1.6. Thứ tự tab (Tab Order) của các điều khiển ........................................................ 59
4.2. Điều khiển, thuộc tính, phương thức và sự kiện .................................................. 60
4.2.1. Điều khiển (đối tượng) ....................................................................................... 60
4.2.2. Thuộc tính .......................................................................................................... 60
4.2.3. Phương thức ....................................................... Error! Bookmark not defined.
4.2.4. Sự kiện ............................................................................................................... 60
4.2.5. Mối quan hệ giữa phương thức, thuộc tính và sự kiện ..... Error! Bookmark not
defined.
4.3. Mảng điều khiển (Arrays Control)........................................................................ 61
4.4. Tự động thay đổ i kích thước và định chỗ (positioning) ..................................... 63
4.5. Một số điều khiển thông dụng ............................................................................... 68
4.5.2. Textbox .............................................................................................................. 68
4.5.3. Label .................................................................................................................. 69
4.5.4. Button................................................................................................................. 71
Ví dụ sử dụng điều khiển textbox, button ................................................................... 71
4.5.5. Điều khiển Checkbox và Radiobutton ............................................................... 73
4.5.6. Điều khiển DateTimePicker............................................................................... 75
4.5.6. Forms ................................................................................................................. 82
4.6.1. Chọn Form khởi động (Startup Form) ............................................................... 84
4.6.2. Quy định vị trí ban đầu của form ....................................................................... 85
4.6.3. Thiết lập kiểu đường biên của Form .................................................................. 85
4.7. Hô ̣p thông báo (Message box) ................................................................................ 87
4.8. Các hộp thoại thông dụng ...................................................................................... 89

4.8.1. Điề u khiể n hô ̣p thoa ̣i Open ................................................................................ 90
4.8.2. Điề u khiể n hô ̣p thoa ̣i Save ................................................................................. 92
4.8.3. Điề u khiể n hô ̣p thoa ̣i Font ................................................................................. 93
4.8.4. Điề u khiể n hô ̣p thoa ̣i Color ................................................................................ 95
4.9. Điều khiển Splitter .................................................................................................. 96
4.10. Các điều khiển Providers ..................................................................................... 98
4.10.1. Điều khiển HelpProvider và ToolTip .............................................................. 98
4.10.2. Điều khiển ErrorProvider................................................................................. 99
4.11. Menus ................................................................................................................... 101
4.12. MDI Forms ................................................................ Error! Bookmark not defined.
4.13. Toolbars ............................................................................................................... 107

3


4.14. ListBox ................................................................................................................... 75
4.15. ComboBox.............................................................................................................. 79

Chương 5. Tạo lập cơ sở dữ liệu ........................................................................ 111
5.1. Tạo cơ sở dữ liệu Access ....................................................................................... 111
5.1.1. Tạo cơ sở dữ liệu .............................................................................................. 111
5.1.2. Tạo bảng ........................................................................................................... 112
5.1.3. Tạo mối quan hệ giữa các bảng ....................................................................... 115
5.1.4. Tạo Queries ...................................................................................................... 117
5.2. Tạo cơ sở dữ liệu sử dụng MicroSoft SQL Server Managemant Studio .......... 119
5.2.1. Tạo cơ sở dữ liệu .............................................................................................. 119
5.2.3. Tạo Query ........................................................................................................ 125
5.2.5. Thêm ràng buô ̣c cho bảng ................................................................................ 129
5.2.6. Thêm dữ liệu vào bảng..................................................................................... 129
5.2.7. Tạo views ......................................................................................................... 130

5.2.8. Thủ tục lưu trữ (Stored Procedure) .................................................................. 132
5.2.9. Trigger và thông báo sự kiện ........................................................................... 133
5.2.10. Giao dịch (Transaction) ................................................................................. 134
2.5.11. Bảo mật và quyền sở hữu ............................................................................... 134

Chương 6. Giới thiệu ADO.NET......................................................................... 136
6.1. Kiến trúc ADO.NET ............................................................................................. 136
6.2. Truy xuất dữ liệu với SQL Server Provider ....................................................... 137
6.2.1. Đối tượng kết nối SQLConnection .................................................................. 137
6.2.2. Thực thi lệnh SQL với SqlCommand .............................................................. 141
6.2.3. Truyền tham số với SqlParameter .................................................................... 147
6.2.4. Đọc dữ liệu với DataReader ............................................................................. 148
6.2.5. Tương tác dữ liệu với SQLDataAdapter .......................................................... 149
6.3. Các đối tượng dữ liệu ............................................................................................ 154
6.3.1. DataSet ............................................................................................................. 154
6.3.2. DataTable ......................................................................................................... 155
6.3.3. BindingSource .................................................................................................. 157
6.3.4. DataColumn ..................................................................................................... 157
6.3.5. DataRow........................................................................................................... 158
6.3.6. DataRelation..................................................................................................... 159
6.4. Các đối tượng trình diễn dữ liệu .......................................................................... 159
6.4.1. DataView ......................................................................................................... 159
6.4.2. DataGridView .................................................................................................. 160
6.5. Ràng buộc dữ liệu (Binding) với các điều khiển................................................. 161

Chương 7. Tạo báo cáo bằng Crystal report ..................................................... 163
7.1. Thiết kế báo cáo..................................................................................................... 163
7.2. Xem báo cáo ........................................................................................................... 172
7.3. Sử dụng các đối tượng của báo cáo ..................................................................... 174
7.3.1. Các đối tượng trên báo cáo .............................................................................. 174


4


7.3.2. Định dạng chuỗi ký tự ..................................................................................... 175
7.3.3. Sử dụng cơng cụ Formula Editor ..................................................................... 176
7.4. Sắp xếp và nhóm dữ liệu ...................................................................................... 177
7.4.1. Sắp xếp các bản ghi ......................................................................................... 177
7.4.2. Nhóm các bản ghi ............................................................................................ 178
7.5. Trình bày báo cáo phân cấp................................................................................. 180
7.6. Tổng hợp dữ liệu ................................................................................................... 180
7.7. Sử dụng tham số và cơng thức ............................................................................. 181
7.8. Đóng gói Project và report ................................................................................... 183

Chương 8. Phân phối và đóng gói ứng dụng Visual Basic.NET .......................188
8.1. Lập kế hoạch triển khai đóng gói dự án ............................................................. 188
8.2. Các cách đóng gói và triển khai ứng dụng khác nhau....................................... 188
8.3. Tạo dự án Deployment ......................................................................................... 189
8.3.1. Sử dụng trình Setup Winzard........................................................................... 191
8.3.2. Tạo dự án đóng gói sử dụng mẫu Setup Winzard ............................................ 193
8.4. Tùy biến các lựa chọn đóng gói ........................................................................... 193
8.4.1. Cấu hình các thiết lập....................................................................................... 193
8.4.2. Tạo shortcut cho ứng dụng cài đặt ................................................................... 195
8.4.3. Thiết lập tên cơng ty và phiên bản chương trình ............................................. 195
7.4.4. Đặt các thuộc tính cho gói ứng dụng ............................................................... 197
8.5. Biên dịch và đóng gói dự án – kiểm tra việc cài đặt .......................................... 197
8.6. Tìm hiều các file Setup và gỡ chương trình ........................................................ 200
8.6.1. Kiểm tra file cài đặt ......................................................................................... 200
8.6.2. Tháo gỡ chương trình ...................................................................................... 201


5


Chương 1. Tìm hiểu mơi trường .NET và Visual Basic.NET
1. Giới thiệu về .NET Framework
.NET được phát triển từ đầu năm 1998, lúc đầu có tên là Next Generation
Windows Services (NGWS). Nó là hạ tầng cơ bản được chuẩn hố, độc lập với
ngơn ngữ lập trình, cho phép ta xây dựng, tích hợp, biên dịch, triển khai, chạy các
dịch vụ Web, XML, tiện ích hay thực hiện chương trình đa cấu trúc (phát triển bằng
các ngơn ngữ lập trình hỗ trợ .NET) trên hệ điều hành có cài đặt .NET Framework.
Nó sẽ trở thành một phần của MicroSoft Windows và sẽ được xuất qua các platform
khác, có thể ngay cả Unix. Mơ hình ứng dụng của .NET Framework

2. Các thành phần của MicroSoft .NET framework
Các phần chính của Microsoft.NET Framework:

6


.NET Framework bao gồm 2 phần chính là Common Language Runtime (CLR),
và .NET Framework Class Library (FCL).
CLR là thành phần chính của .NET Framework, quản lý mã có thể thực thi của
chương trình, quản lý các tiến trình, quản lý tiểu trình (Threading), quản lý bộ nhớ,
cung cấp dịch vụ để biên dịch, tích hợp và tác vụ truy nhập từ xa (Remoting)
FCL bao gồm tất cả các dịch vụ giao tiếp người sử dụng, điều khiển, truy cập dữ
liệu, XML, Threading, bảo mật

3. Tìm hiểu về Metadata
Metadata là một thuật ngữ mà người lập trình sử dụng dùng để mô tả dữ liệu về
dữ liệu. Môi trường .NET sử dụng Metadata để mơ tả những đối tượng, các gói

assembly, dữ liệu ADO.NET. Nét đặc trưng của môi trường .NET là những đối
tượng có thể tự mơ tả. Một chương trình có thể truy vấn thơng tin về một đối tượng
để xác định phương thức, thuộc tính, trường mà đối tượng sẵn sàng hỗ trợ cho
chương trình sử dụng.
.NET có một file đặc biệt gọi là assembly sử dụng metadata để mô tả thông tin về
những lớp mà ứng dụng cung cấp và những thành phần mà ứng dụng sử dụng (như
các file dữ liê ̣u), XML định nghĩa metadata, metadata định nghĩa các dữ liệu khác.

7


4. Tìm hiểu về Common Language Runtime- CRL
Mơi trường .NET được xây dựng dựa trên hai nền tảng mạnh và độc lập về ngơn
ngữ với thư viện runtime, đó là thư viện thực thi ngôn ngữ chung (Common
Language Runtime- CLR) và thư viện lớp (Class Libraries). Vì những thư viện này
độc lập với ngơn ngữ, một lập trình viên Visual Basic.NET có cùng một tập hợp
hàm, lớp, thủ tục để sử dụng như một lập trình viên C# hay C++.NET.
Mọi ngơn ngữ lập trình đều được biên dich
̣ ra ngơn ngữ trung gian Microsoft
Intermediate Language (IL) nhờ bắt buộc mọi ngôn ngữ đều phải dùng cùng các
kiểu dữ liệu chung (gọi là Common Type System). Vì vậy, cho phép các ngơn ngữ
có thể hợp tác nhau một cách thơng suốt. Tức là trong .NET, các chương trình
VB.NET có thể kế thừa các chương trình C# và ngược lại một cách hoàn toàn tự
nhiên.

5. Tổ chức thư viện đối tượng bằng khơng gian tên (namespaces)
Trong mơi trường lập trình hướng đối tượng, người lập trình thường sử dụng các
lớp để mơ tả đối tượng. Để tổ chức các lớp tốt hơn và để đơn giản, người lập trình
thường nhóm các lớp vào trong thư viện lớp. Thông thường, các lớp trong thư viện
lớp sẽ liên hệ với nhau để xử lý một nhiệm vụ nào đó. Khi số lớp trong một thư viện

tăng lên, khả năng xung đột tên rất dễ xảy ra. Để giảm bớt xung đột tên tiềm ẩn có
thể xảy ra, lập trình viên lên sử dụng khơng gian tên (namespaces) để tổ chức các
lớp đối tượng.
Namespaces là một cách đặt tên để giúp sắp đặt các lớp ta dùng trong chương
trình một cách thứ tự để thuận lợi cho việc tìm kiếm chúng. Tất cả mã chương trình
trong .NET, viết bằng Visual Basic.NET, C# hay ngơn ngữ nào khác, đều được
chứa trong các namespace. Điểm này cũng áp dụng cho thư viện lớp của .NET.
Chẳng hạn, các lớp của WinForms đều nằm trong System.Windows.Forms
namespace. Và các lớp dùng cho tập hợp như Queue, Stack, Hashtable .v.v.. đều
nằm trong System.Collections namespace.
Mỗi namespace chứa những phần của mã lệnh thích hợp cho nó trong chương
trình nói chung, trong .NET ta có thể có hai lớp có cùng một tên nhưng nằm trong
hai namespaces khác nhau. Ta có thể dùng namespaces bằng cách chỉ ra tên của

8


namespace rồ i đế n tên lớp , tiế p theo là tên lớp dẫn xuấ t …hoă ̣c có thể dùng từ khoá
Import để chỉ ra tên namespace chứa lớp mà ta đề cập đến . Nhưng điều tiên quyết là
ta phải tham chiếu đến file assembly chứa namespace mà ta muốn dùng. Ta thực
hiện việc ấy bằng cách chọn Project | Add References. Khi hộp thoại Add
References hiện ra, chọn Tab .NET cho standard .NET components hay Tab
Projects cho dữ liê ̣u của một .NET project khác, chọn dữ liệu bạn muốn rồi Click
nút Select, sau đó Click nút OK. Chẳng hạn ta muốn sử du ̣ng các phương thức read
và write từ studio để nhập dữ liệu và hiển thị dữ liệu trong ứng dụng dạng Console
(ứng dụng có giao diện dạng text g iống như MS - DOS trước đây ). Namespace ta
cần sẽ là System.Console. Trong cách viế t thứ nhấ t ta sẽ viết lệnh như sau để viết
hàng chữ "Chào thế giới":
System.Console.WriteLine("Hello world!"). Nếu ta dùng từ khoá Import bằng cách
sử dụng câu lệnh Imports System.Console ở đầu phần mã lệnh trong module, ta có

thể code gọn hơn: WriteLine ("Hello world!")
Dưới đây là một số namespaces thơng dụng:
Mục đích

Namespace
System.CodeDOM

Chứa các lớp mà chương trình có thể sử dụng để biểu
diễn tài liệu mã nguồn

System.Colection

Chứa các lớp định nghĩa các cấu trúc dữ liệu dạng tập
hợp như: Mảng, danh sách, hàng đợi, ngăn xếp,…

System.Configuration

Chứa các lớp xử lý thơng tin cấu hình .NET Framework

System.Data

Chứa các lớp đối tượng cơ sở dữ liệu

System.Diagnostics

Chứa các lớp để chuẩn đoán, gỡ lỗi

System.Drectory.Services Chứa các lớp dịch vụ thư mục cung cấp khả năng giao
tiếp với hệ thống Active Directory
System.Drawing


Chứa các lớp hỗ trợ tính năng đồ hoạ

System.Globalization

Chứa các lớp hỗ trợ khả năng quốc tế hoá như ngày
tháng, thời gian, tiền tệ

System.IO

Chứa các lớp hỗ trợ thao tác vào/ra dữ liệu

System.Management

Chứa các lớp quản lý giao diện với dịch vụ thiết bị của

9


windows
System.Messaging

Chứa các lớp thực hiện gửi/nhận thông điệp qua hàng
đợi

System.NET

Chứa các lớp thực hiện thao tác xử lý mạng

System.Reflection


Chứa các lớp thực hiện truy vấn khả năng của một đối
tượng

System.Runtime

Chứa các lớp dùng để gọi tương tác với mã assembly,
các đối tượng COM, các đối tượng từ xa

System.Security

Chứa các lớp xử lý về bảo mật và mã hoá

System.Text

Chứa các lớp xử lý ký tự ASCII, Unicode, UTF

System.Timers

Chứa các lớp hỗ trợ sự kiện Timer

System.Web

Chứa các lớp hỗ trợ truy xuất Web

System.Windows.Forms

Chứa các lớp tạo cửa sổ giao diện của ứng dụng dạng
Windows Form


System.XML

Chứa các lớp xử lý dữ liệu XML

6. Tìm hiểu mã IL của .NET
Thơng thường khi biên dịch chương trình, trình biên dịch sẽ chuyển mã nguồn
(source) thành mã máy (các chỉ thị CPU). Các chỉ thị này phụ thuộc vào từng loại
CPU, như Intel, Macintosh,...Để hỗ trợ chương trình chạy trên nhiều máy, Java tạo
nên một máy ảo. Các chương trình biên dịch ra mã máy ảo và máy ảo của Java
chuyển dịch mã máy ảo thành chỉ thị CPU mà máy ảo chạy trên đó. .NET hoạt động
tương tự như vậy, các chương trình .NET khơng biên dịch ra ra mã máy như các file
.EXE thông thường, thay vào đó, chương trình được biên dịch ra mã IL
(Intermediamte Language- mã trung gian). Chính vì vậy, chương trình .EXE của
.NET hồn tồn khơng giống như chương trình .EXE của windows trước đây.
Những chương trình .EXE của .NET phải chạy trên bộ khung .NET Framework, có
thể coi đây là máy ảo dùng diễn dịch mã IL thành chỉ thị CPUđể thực thi chương
trình.

10


Để xem mã IL của chương trình .NET sau khi biên dịch, ta sử dụng chương trình
ILDASM.EXE như sau: C:\ildasm <tên_chương_trình.NET>.exe

7. Đóng gói chương trình .NET trong gói Assembly
Trong .NET các chương trình được ngắt ra thành các đơn vị gói (được gọi với
thuật ngữ Assembly). Một gói assembly có thể chứa mã chương trình, thư viện lớp
hoặc thơng tin về đối tượng (được lưu dạng metadata).
File assembly có thể có phần mở rộng là EXE hoặc DLL. Nếu một assembly là
thư viện lớp nó có thể dùng riêng cho ứng dụng hoặc dùng chung giữa các ứng

dụng. Các assembly dùng chung được đặt trong thư mục C:\WinNT\Assembly

8. Giới thiệu Visual Studio.NET
8.1. Môi trường phát triển Visual studio.NET
Visual Studio.NET là bộ công cụ giúp phát triển các ứng dụng từ ứng dụng
desktop đến ứng dụng mạng. Nó là mơi trường để phát triển ứng dụng sử dụng tất
cả các ngôn ngữ như Visual Basic.NET, Visual C++, Visual C#.Net hết sức mạnh
mẽ và thuận lợi.
8.2. Khởi động Visual studio.NET
Việc khởi động Visual Studio.NET cũng tương tự như các phần mềm khác như
MicroSoft Word hay Excel. Nếu lần đầu khởi động Visual Studio.NET sẽ yêu cầu
xem bạn chạy nó với ưu tiên ứng dụng và ngôn ngữ nào. Để sử dụng ngôn ngữ lập
trình Visual Basic.NET, bạn chọn Visual Basic và start Visual Studio.NET . Màn
hình bắt đầu như sau:

11


Nếu trang start page khơng hiện, bạn có thể làm nó xuất hiện bằng cách chọn
menu View | Other Windows | Start Page.
8.3. Mở một dự án mới của Visual Basic
- Chọn File/New/ Project

12


xuất hiện hộp thoại

Chọn kiểu ứng dụng rồi Click nút OK
8.4. Mở một dự án cụ thể

- Click chuột vào project (dự án) của phần Open tại trang Start Page.
- Duyệt đến thư mục chứa dự án của bạn

13


- Mở file Quanlythuvien.sln. Khi này trang Start Page sẽ tạm ẩn đi, một cửa sổ
mới xuất hiện:

8.5. Dự án (Project) và giải pháp (Solutions)
Trong Visual Studio.NET, các chương trình đang triển khai và phát triển được
gọi là dự án (Project) hoặc giải pháp (Solution) bởi chúng chứa rất nhiều file và do
nhiều thành phần, đối tượng riêng lẻ hợp lại. Một chương trình Visual Studio.NET
bao gồm một file giải pháp và một file dự án hợp lại. File dự án chứa thông tin đặc
biệt liên quan đến một tác vụ lập trình đơn lẻ. File giải pháp lại chứa thông tin về
một hay nhiều dự án.
8.6. Các công cụ của Visual Studio.NET
Công cụ trong Visual Studio.NET rất phong phú. Sau đây là màn hình làm việc
của bộ Visual Studio.NET:

14


Thanh thực đơn

Cửa sổ thiết kế form

Thanh công cụ chuẩn

Hộp công cụ


Cửa sổ hiển thị kết quả- Output

Solution Explorer

Cửa sổ thuộc tính

8.6.1 Thanh tiêu đề (Title Bar)
Thanh tiêu đề thể hiện tên của chương trình (project) mặc định là Project1
8.6.2 Thanh thực đơn (Menu Bar)
Thanh thực đơn (Menu Bar) xuất hiện ngay dưới thanh tiêu đề, chứa các lệnh đơn
để thao tác với Visual Studio. Mỗi lệnh đơn chứa một nhóm lệnh để thực hiện các
thao tác trên cùng đối tượng (ví dụ lệnh đơn File chứa các lệnh để thao tác với tệp
tin). Thanh thực đơn bao gồm các lệnh đơn sau:

8.6.3 Thanh công cụ (Tool Bar):
Thanh công cụ là thanh chứa các lệnh được thể hiện dưới dạng biểu tượng giúp
người sử dụng có thể thi hành một lệnh nhanh hơn. Thanh công cụ bao gồm các nút:

15


8.6.4 Hộp công cụ (ToolBox)
Hộp công cụ chứa các đối tượng điều khiển (Control) sẽ được đặt vào biểu mẫu
(Form) khi thiết kế giao diện của chương trình. Nó được nhóm thành các nhóm
cơng cụ. Để chọn một cơng cụ trong nhóm, trước tiên ta chọn nhóm cơng cụ bằng
cách Click chuột vào dấu + ở đầu nhóm. Khi đó một danh sách các cơng cụ trong
nhóm sẽ mở ra để ta chọn.
8.7. Bộ thiết kế Windows Forms Designer
Visual Studio.NET có một bộ thiết kế form trực quan, bạn sẽ làm quen dần

dần bởi vì thường trong các dự án phát triển có thể có rất nhiều Form.
Để hiển thị bộ thiết kế Windows Forms Designer ta hiển thị cửa sổ Solution
Explorer bằng cách chọn View | Solution Explorer. Cửa sổ này chứa tồn bộ các
phần tử có sử du ̣ng trong dự án. Click chuột vào biểu tượng View Designer
trong solution để hiển thị form thiết kế ở dạng trực quan.
8.8. Chạy một chương trình Visual Basic
Click chuột vào nút start màu xanh

trên thanh cơng cụ để chạy chương

trình (bạn cũng có thể ấn phim
́ F5).
8.9. Cửa sổ thuộc tính Properties
Cho phép thay đổi thơng số của đối tượng thiết kế form sau này.

16


8.10. Thốt khỏi Visual Studio.NET
- Lưu lại những gì chúng ta làm bằng cách chọn File | Save all.
- Chọn File | Exit để thoát khỏi Visual Studio.NET.

17


Chương 2. Cơ sở lập trình trong Visual Basic.NET
2.1. Kiểu dữ liệu cơ sở
Chương trình sử dụng các biến để lưu trữ các giá trị. Mỗi biến phải có một kiểu
dữ liệu xác định. Một kiểu của biến sẽ xác định các giá trị mà biến đó có thể nhận.
Visual Basic cung cấp các kiểu dữ liệu cơ bản sau:

Tên kiểu

Phạm vi giá trị

Kích thước
(byte)

Boolean

True, False

2

Byte

Các số nguyên trong đoạn từ 0 đến 255

1

Char

Các ký tự Unicode 16 bits

2

Decimal

Các số nguyên trong đoạn từ - 295 đến 295 – 1

16


Double

Các số thực dấu phẩy động 64 bits

8

Integer

Các số nguyên trong đoạn từ - 231 đến 231 – 1

4

Long

Các số nguyên trong đoạn từ - 263 đến 263 – 1

8

Short

Các số nguyên trong đoạn từ - 231 đến 231 – 1

4

Single

Các số thực dấu phẩy động 32 bits

4


Một thay đổi lớn cho Data Type của VB.NET, là những biến dùng Data Type cơ
bản như Integer, Single, Boolean,.v.v.. đều là những biến kiểu đối tượng (Objects).
Chúng đều được xuất phát từ lớp căn bản nhất tên Object trong VB.NET.

2.2. Khai báo biến
2.2.1. Khai báo nhiều biến
Biến được sử dụng để lưu trữ và đọc thơng tin trong q trình thực hiện
chương trình. Để khai báo biến ta dùng từ khoá Dim và chỉ ra tên biến cùng với
kiểu dữ liệu của biến. Trong VB 6.0 ta có thể khai báo nhiều biến trên cùng một
hàng như:
Dim i, j, k As Integer
Kết quả là chỉ có k là Integer, cịn i và j là Variant. Trong VB.NET thì cả ba i, j
và k đều là Integer.
Ta có vừa khai báo biến vừa khởi gán giá trị cho biến.

18


Ví dụ :
Dim X As Integer = 12
2.2.1. Phạm vi hoạt động của biến
Tuỳ theo vị trí khai báo biến và các từ khoá quy định phạm vi mà ta sử dụng biến
sẽ có phạm vi hoạt động khác nhau.
VB.NET cho phép khai báo biến trong một khối lệnh IF ..THEN...END IF,
DO...LOOP, WHILE...END WHILE, FOR...NEXT,..v.v..vì vậy, những biến này
chỉ có phạm vi hoạt động ở trong khối lệnh đó. Khi chương trin
̀ h thực hiê ̣n xong
khố i lê ̣nh đó thì các biế n cũng bi ̣hủy
Ngoài ra , trong VB.NET ta có thể quyết định giới hạn việc truy cập một biến

bằng cách dùng các từ khoá sau:

2.3. Khai báo hằng (Constants)
Hằng là đại lượng mà giá trị khơng thay đổi trong suốt q trình thực hiện
chương trình. Khi khai báo hằng trong VB.NET ta phải khai rõ kiểu dữ liệu của nó
là String, Integer, hay Boolean ..v.v.:
Public Const myConstantString As String = "happy"
Public Const maxStudent As Integer = 30

19


2.4. Toán tử
2.4.1. Toán tử số học
Là các toán tử có các tốn hạng dạng số và kết quả thực thu được cũng có dạng
số, bao gồm
Tốn tử

Giải thích

+

Phép cộng

-

Phép trừ

*


Phép nhân

/

Phép chia

\

Phép chia lấy phần
nguyên

^
Mod

Phép luỹ thừa
Phép chia lấy phần


2.4.1. Tốn tử so sánh
Là các tốn tử có kết quả thu được sau khi thực hiện là giá trị logic (True hoặc
False), bao gồm:
Tốn tử

Giải thích

>

Lớn hơn

<


Nhỏ hơn

>=

Lớn hơn hoặc bằng

<=

Nhỏ hơn hoặc bằng

=

Bằng

<>

Khác

Like

So khớp

2.4.2. Toán tử gán
Toán tử gán dùng để gán giá trị cho một biến, một phần tử mảng. Toán tử gán
được ký hiệu bằng dấu bằng ( = ).
Ví dụ:
20



Counter = Counter + 1
VB.NET cho phép sử dụng các phép gán mở rộng, giúp cho việc viết biểu
thức trở lên ngắn gọn. Các toán tử gán mở rộng gồm:
Toán tử

Ví dụ

Giải thích

+=

X+=1

X=X+1

-=

X-=1

X=X–1

*=

X*=1

X=X*1

/=

X/=1


X=X/1

\=

X\=1

X=X\1

2.5. Một số hàm chuẩn
2.5.1 Hàm đại số
Trong VB 6.0 các hàm toán học như abs, sqrt, sin, cos,…được đặt riêng lẻ. Trong
môi trường .Net những hàm này được tổ chức lại trong lớp Math. Math là một lớp
tĩnh, nghĩa là ta có thể gọi các phương thức (các hàm ta đang nói tới) mà khơng cần
tạo ra thể hiện đối tượng của lớp Math. Ví dụ để sử dụng hàm abs ta chỉ cần viết:
math.abs(đối số). Sau đây ta xét một số phương thức (mà ta gọi là hàm) của lớp
Math:
TT

1
2
3
4
5
6
7
8
9
10
11

12
13
14
15
16

Phương thức

Abs
Acos
Asin
Atan
Ceiling
Cos
Exp
Floor
Log
Log10
Max
Min
Pow
Round
Sin
Sqrt

Giải thích

Tính trị tuyệt đối
Tính arcos
Tính arcsin

Tính arctg
Làm trịn lên
Tính cos
E mũ
Cắt trịn
Tính logarit tự nhiên
Tính logarit cơ số 10
Tìm giá trị lớn nhất
Tìm giá trị nhỏ nhất
Luỹ thừa
Làm trịn
Tính sin
Tính căn bậc hai

21


2.5.2 Hàm thời gian
(1) Hàm Day(d): Hàm trả về số ghi ngày của d.
Ví dụ: Day(#12/25/2006#) sẽ cho kết quả là 25
(2) Hàm Month(d): Hàm trả về số ghi tháng của d.
Ví dụ: Month(#11/30/2006#) sẽ cho kết quả là 11
(3) Hàm Year(d): Hàm trả về số ghi năm của d.
Ví dụ: Year(#12/25/2006#) sẽ cho kết quả là 2006
(4) Hàm Now: Hàm trả về ngày tháng năm và giờ của hệ thống máy tính.
(5) Hàm Weekday (d): Hàm cho biết thứ mấy trong tuần.
Ví dụ: Weekday(#11/13/2006#)) cho kết quả là 3 (thứ 3 trong tuần).
Weekday(#11/19/2006#) sẽ cho kết quả là 1 (thứ 1, tức là ngày chủ nhật trong tuần)
(6) Hàm hour (<thời gian>): Hàm cho biết giờ ứng với <thời gian>.
Ví dụ: Hour(#10:20:15#) sẽ cho kết quả là 10

(7) Hàm Minute(<thời gian>): Hàm cho biết phút ứng với <thời gian>
Ví dụ: Minute(#10:20:15#) sẽ cho kết quả là 20.
(8) Hàm Second(<thời gian>): Hàm cho biết giây ứng với <thời gian>
Ví dụ: Second(#10:20:15#) sẽ cho kết quả là 15.
2.5.3 Hàm chuyển đổi
(1) Hàm ToBoolean(x): Hàm trả về giá trị kiểu Boolean của x.
(2) Hàm ToByte(x): Hàm trả về giá trị kiểu Byte của x.
(3) Hàm ToChar(x): Hàm trả về giá trị kiểu Char của x.
(4) Hàm ToDate(x): Hàm trả về giá trị kiểu Date của x.
(5) Hàm ToDouble(x): Hàm trả về giá trị kiểu Double của x.
(6) Hàm ToDecimal(x): Hàm trả về giá trị kiểu Decimal của x.
(7) Hàm ToInt16(x): Hàm trả về giá trị kiểu số nguyên 2 bytes
(8) Hàm ToInt32(x): Hàm trả về giá trị kiểu số nguyên 4 bytes
(9) Hàm ToInt64(x): Hàm trả về giá trị kiểu số nguyên 8 bytes
(10) Hàm ToSingle(x): Hàm trả về giá trị kiểu số thực 4 bytes
(11) Hàm ToString(x): Hàm trả về giá trị kiểu chuỗi
Oct(188) cho giá trị là 274
22


(14) Hàm Hex(x) hoặc Hex$(x): Hàm trả về giá trị số hệ thập lục phân Variant hoặc
chuỗi tương ứng của x.
Ví dụ:
Hex(2006) cho giá trị là 7D6
2.5.4 Hàm kiểm tra kiểu dữ liệu
(1) Hàm IsArray(x): Nếu x có kiểu dữ liệu là mảng thì hàm trả về giá trị True,
ngược lại hàm trả về giá trị False.
(2) Hàm IsDate(x): Nếu x có thể chuyển đổi sang định dạng thời gian thì hàm trả về
giá trị True, ngược lại hàm trả về giá trị False.
(3) Hàm IsNumeric(x): Nếu x có thể chuyển đổi sang định dạng số thì hàm trả về

giá trị True, ngược lại hàm trả về giá trị False.
(4) Hàm VarType(x): Kiểm tra kiểu dữ liệu

2.6. Quy ước viết lệnh
2.6.1. Viết lời chú thích
Khi ta lập trình ta thường hay đặt các dịng chú thích ở đâu đó trong chương trình
để diễn giải ý nghĩa của một quá trình xử lý để về sau ta hoặc người khác đọc lại mã
chương trình có thể hiểu nó một cách dễ dàng. Một lời chú thích trong VB.Net bắt
đầu bằng dấu nháy đơn tiếp theo là lời giải thích trên cùng một hàng. Ví dụ:
„đây là một lời giải thích
2.6.2. Ngăn cách các câu lệnh trên một dịng
Ta có thể viết nhiều câu lệnh trên một dòng, và các câu lệnh đó phải ngăn cách nhau
bởi dấu hai chấm “:”.
StartTime = Now: EndTime = StartTime + 10
2.6.3. Kéo dài câu lệnh trên hai dịng
Khi có những câu lệnh dài chúng ta có thể viết câu lệnh đó trên nhiều dịng, và
dùng kí hiệu gạch nối (_) để nối các dịng đó.
Ví dụ:
TxtKetqua = "* " & TxtSoN & " số Fibonaci đầu tiên là " _
& xd & " " & so(1) & " , " & so(2) & _
" , " & Left(ch, Len(ch) - 2) & xd & xd & "* Số Fibonaci thứ " _
23


& TxtSoN & " là " & so(TxtSoN)

2.7. Lệnh IF…THEN
Câu lệnh IF cho phép lựa chọn một trong hai nhánh tùy thuộc vào giá trị của một
biểu thức lôgic(điều kiện) là Đúng (True) hay Sai (False).
Cú pháp :

Dạng 1. If <điều kiện> Then <lệnh>
Dạng 2. If <điều kiện> Then
< lệnh 1>
< lệnh 2>
………………
< lệnh n>
End If
Dạng 3. If <điều kiện> Then
< lệnh A1>
………………
< lệnh An>
Else
< lệnh B1>
………………
< lệnh Bn>
End If
Chúng ta cũng có thể sử dụng nhiều cấu trúc rẽ nhánh IF . . THEN . . ELSE lồng
nhau, nghĩa là trong một nhánh của câu lệnh IF lại có chứa một cấu trúc IF . . .
THEN . . . ELSE khác. Cú pháp:
If <điều kiện1> Then
<khối lệnh 1>
Else If <điều kiện 2> then
<khối lệnh 2>
...........
Else
<khối lệnh n>
24


End If

End If

2.8. Câu lệnh Select ...Case
Cú pháp:
Select Case <Biểu thức kiểm tra>
[Case <Danh sách biểu thức 1>
[Khối lệnh 1]
[Case <Danh sách biểu thức 2>
[Khối lệnh 2]
...
...
...
[Case Else
[Khối lệnh n]
End Select
Hoạt động:
Chương trình sẽ kiểm tra, nếu <biểu thức kiểm tra> bằng một giá trị nào đó
trong <danh sách biểu thức i> thì khối lệnh tương ứng với danh sách biểu thức đó
sẽ được thực hiện. Ngược lại, <Khối lệnh n> sẽ được thực hiện.
Ví dụ:
Select Case Diem
Case 0, 1, 2, 3, 4
Xeploai = "Loại yếu"
Case 5, 6
Xeploai = "Loại trung bình"
Case 7, 8
Xeploai = "Loại khá
Case 9, 10
Xeploai = "Loại giỏi"
End Select


25


×