ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG
LỜI MỞ ĐẦU
VB.NET là một trong 25 ngôn ngữ lập trình của .NET được cung cấp bởi .NET
Framework và CLR.
VB.NET khác hẳn VB6 và thật sự chuyển mình thành 1 ngôn ngữ lập trình OOL
chính yếu không khác gì với mọi ngôn ngữ lập trình khác như C#, C++, J++, ...
trong môi trường xây dựng đủ mọi ứng dụng cho nền Windows và quan trọng hơn
cả là việc học VB.NET dễ dàng hơn .
VB.NET được chọn là ngôn ngữ lập trình cho các trang ASP.NET
Nếu bạn thích, bạn có thể dùng C# hay C++ thay vì VB.NET cho mọi bài tập
trong khóa, sự chuyển đổi qua lại giữa các ngôn ngữ lập trình là điều có thế vì sự
khác biệt phần lớn là về cú pháp (syntax) chứ không khác nguyên tắc và cấu trúc
lập trình
Thật sự, đây là ngôn ngữ lập trình mới và rất lợi hại, không những lập nền tảng
vững chắc theo kiểu mẫu đối tượng như các ngôn ngữ lập trình hùng mạnh khác
đã vang danh C++, Java mà còn dễ học, dễ phát triển và còn tạo mọi cơ hội hoàn
hảo để giúp ta giải đáp những vấn đề khúc mắc khi lập trình.
LỜI CẢM ƠN
Đây là đồ án chuyên ngành đầu tiên mà em được làm c ùng với việc cố gắng tìm
hiểu m ột ngôn ngữ hoàn toàn mới mà em chưa được học trong chương trình của
mình môn VB.Net nên chắc chắn không chỉ một mà sẽ có vô vàn sai sót và
khuyết điểm. Em luôn mong muốn nhận được sự đóng góp chân thành nhất từ
phía các thầy cô và các bạn.
Qua đây em cũng xin gửi lời cám ơn chân thành nhất đến các thầy cô khoa CNTT-
Đại Học DTU đã tạo điều kiện cho em thực hiện , đặc biệt là thầy Đoàn Văn
Thắng đã tận tình hướng dẫn giúp em hoàn thành đồ án và các thầy cô đã giảng
dạy cung cấp cho em các kiến thức cơ bản giúp em hoàn thành tốt đồ án này.
ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM
1
ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG
MỤC LỤC
tiếp đó Quick BASIC (còn gọi là QBASIC) thành công rực rỡ.
Quick BASIC phát triển trong nền Windows nhưng vẫn khó khăn khi tạo giao
diện kiểu Windows. Sau đó nhiều năm, Microsoft bắt đầu tung ra 1 sản phẩm
mới cho phép ta kết hợp ngôn ngữ dễ học BASIC và môi trường phát triển lập
trình với giao diện bằng hình ảnh (Graphic User Interface - GUI) trong
Windows. Đó là Visual Basic Version 1.0
Sự chào đời của Visual Basic Version 1.0 vào năm 1991 thật sự thay đổi bộ
mặt lập trình trong Công Nghệ Tin Học.
Trước đó, ta không có 1 giao diện bằng hình ảnh (GUI) với một IDE (Integrated
Development Environment) giúp các chuyên gia lập trình tập trung công sức và
thì gìờ vào các khó khăn liên hệ đến doanh nghiệp của mình. Mỗi người phải tự
thiết kế giao diện qua thư viện có sẵn Windows API (Application Programming
Interface) trong nền Windows. Điều này tạo ra những trở ngại không cần thiết
làm phức tạp việc lập trình.
Khi Visual Basic phiên bản 3.0 được giới thiệu, thế giới lập trình lại thay đổi
lần nữa. Kỳ này, ta có thể thiết kế các ứng dụng (application) liên hệ đến Cơ
Sở Dữ Liệu (Database) trực tiếp tác động (interact) đến người dùng qua DAO
(Data Access Object). Ứng dụng này thưòng gọi là ứng dụng tiền diện (front-
end application) hay trực diện.
Phiên bản 4.0 và 5.0 mở rộng khả năng VB nhắm đến Hệ Điều Hành Windows
95.
Phiên bản 6.0 cung ứng 1 phương pháp mới nối với Cơ Sở Dữ Liệu (Database)
qua sự kết hợp của ADO (Active Data Object). ADO còn giúp các chuyên gia
phát triển mạng nối với Cơ Sở Dữ Liệu (Database) khi dùng Active Server
Pages (ASP).
Tuy nhiên, VB phiên bản 6.0 (VB6) không cung ứng tất cả các đặc trưng của
kiểu mẫu ngôn ngữ lập trình khuynh hướng đối tượng (Object Oriented
Language - OOL) như các ngôn ngữ C++, Java.
Thay vì cải thiện hay vá víu thêm thắc vào VB phiên bản 6.0, Microsoft đã xoá
bỏ tất cả làm lại từ đầu các ngôn ngữ lập trình mới theo kiểu OOL rất hùng
.NET Enterprise Server bao gồm:
Server Operationg Systems: MS Windows Server, Advanced Server và Data
Center ServeR
Clustering và Load Balancing Systems: MS Application Center, MS Cluster
Server
Database System: MS SQL Server
E-Mail System: MS Exchange Server
Data-transformation engine trên cơ sở XML: MS Biz Talk Server
AccessingLegacySystems:HostIntegrationServer
I.2.2.NET Framework
Đối với Visual Basic.NET (VB.NET), tất cả mọi thứ đều thay đổi tận gốc rễ. Một
trong những thành phần quan trọng của .NET là .NET Framework. Đây là nền
tảng cho mọi công cụ phát triển các ứng dụng (application) .NET
ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM
4
ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG
.NET Framework bao gồm:
Môi trường vận hành nền (Base Runtime Environment)
Bộ sưu tập nền các loại đối tượng (a set of foundation classes)
Môi trường vận hành nền (Base Runtime Environment) hoạt động giống
như hệ điều hành cung cấp các dịch vụ trung gian giữa ứng dụng
(application) và các thành phần phức tạp của hệ thống.
Bộ sưu tập nền các loại đối tượng (a set of foundation classes) bao gồm 1
số lớn các công dụng đã soạn và kiểm tra trước, tỷ như: giao lưu với hệ
thống tập tin (file system access) hay ngay cả các quy ước về mạng
(Internet protocols), ... nhằm giảm thiểu gánh nặng lập trình cho các
chuyên gia Tin Học.
Để mọi ngôn ngữ lập trình sử dụng được các dịch vụ cung cấp bởi .NET
Framework, Microsoft tạo ra 1 tiêu chuẩn chung cho ngôn ngữ lập trình gọi
là Common Language Specifications (CLS). Tiêu chuẩn này giúp các
I.2.2.2 Phương pháp làm việc của .NET Framework
Ðiều kỳ thú nhất trong cấu trúc .NET Framework là các nguồn mã của VB.NET
hay C# không biên dịch thành mã thi hành gốc (native executable code) mà lại
qua trung gian một ngôn ngữ khác gọi là IL (Intermediate Language) trước khi
chạy thật sự.
Nguồn mã có thể biên dịch thành IL đó còn được gọi là managed code, điều này
khiến cho các ngôn ngữ lập trình của .NET hoạt động (hay tác động) qua lại (hổ
tương - interoperation) với nhau, cho phép ta vận dụng mọi đặc trưng của .NET
mà không cần phải viết lại các nguồn mã dùng ngôn ngữ lập trình khác.
Nguyên tắc của IL cũng tương tự như Java, nhưng khác ở chổ Java là cross-
platform independence còn .NET là cross-language independence. Cũng cần
phải nhắc ở đây, Microsoft vẫn mở rộng vòng tay cho việc phát triển .NET trên
các nền (platform) khác trong tương lai.
ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM
6
ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG
I.2.2.3 Xây dựng chương trình trong .NET FRAME:
.NET Framework cho ta ba cách để dùng giao diện với chương trình áp dụng, đó là
Windows Forms (có khi được gọi tắt là WinForms), Web Forms và Console
applications.
1) Sự quan trọng của Windows Forms ?
Windows Forms là cách hiển thị màn ảnh tối tân hơn Win32 bình thường. Kỹ thuật
nằm phía sau Windows Forms trước đây được phát triển cho Windows Foundation
Classes (WFC), để dùng trong Visual J++.
Thật ra, Windows Forms là một phần của các base classes của .NET Framework. Cái
Namespace dùng cho nó là System.Windows.Forms, một Namespace chứa rất nhiều
thứ đến đổi hầu như chúng ta sẽ không cần phải dùng trực tiếp các Windows
APIvềđồhoạ(GraphicsvàDrawings)nhưtrongVB6nữa.
Vì .NET Framework chứa đầy đủ mọi thư viện cần thiết cho chương trình, nên một
khi đã cài đặt .NET Framework trên máy khách rồi ta chỉ cần XCopy đến đó những
Thực đơn (menu) của Microsoft Visual Studio.NET IDE … ‘biến hóa’ tùy theo công việc
đang làm nhưng tổng quát, thực đơn (menu) chính hiển thị bao gồm:
ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM
8
ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG
File
Tiêu chuẩn chung cho mọi ứng dụng (application) trong nền Windows. File dùng để mở
(open) hay đóng (close) các tập tin (files) hay dự án (project).
Edit
Edit cung cấp các chọn lựa khi soạn nguồn mã và dùng các công cụ lập trình, tỷ như:
Undo, Redo, Cut, Copy, Paste và Delete
View
View cung cấp sư chọn lựa hiển thị các Windows tạo môi trường của IDE, tỷ như:
Solution Explorer, Properties, Output, Tool Box, Server Explorer. Nếu ta để ý sẽ thấy các
Windows này thường nằm 2 bên hoặc bên dưới window thiết kế Form hay soạn nguồn
mã.Các windows này cũng có thể hiển lộ hay thu kín lại nhường chổ cho window thiết kế
được rộng rãi.
Project
Dùng để quản lý dự án (project) bằng cách thêm vào hay xóa bỏ các tập tin liên hệ.
Build
Một lựa chọn quan trọng trong thực đơn là Build cho phép ta xây dựng và chạy ứng dụng
(application) 1 cách độc lập bên ngoài IDE.
Debug
Debug không những giúp phương tiện rà tìm các lỗi lập trình trong môi trường IDE mà
còn giúp kiểm tra từng bước một các nguồn mã trong dự án (project).
Data
Giúp ta nối và sử dụng dữ kiện hay thông tin trong Cơ Sở Dữ Liệu (Database).
Tools
Chứa các công cụ bố trí Microsoft Visual Studio.NET IDE.
Windows
và cuối cùng, nút Toolbar Options để hiển thị thêm các công cụ phụ thuộc khác.
3.3 Hộp công cụ (Toolbox)
Nhấp đơn hộp công cụ nằm phía bên tay trái window thiết kế như hình sau. Hộp
công cụ bao gồm:
Hộp Data
Hộp Components
Hộp Windows Forms
Hộp Clipboard Ring
Hộp Gerneral
3.4 Class:Classes là phần ta xác định hay định nghĩa các đối tượng (Object)
Ví dụ:Để định nghĩa 1 cái đồng hồ, ta diễn tả kim giờ, kim phút, kim giây cùng các con
số chỉ giờ, cách bố trí giờ giấc hay ngày tháng năm, ... Tương tự như thế, class định
nghĩa đối tượng (Object) qua các đặc tính (properties) và các phương pháp (method) biểu
thị đặc trưng cho class.Mọi thứ trong .NET Framework hay VB.NET đều đại biểu cho
classes'.
ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM
11
Class
classname
properties
subroutines
functions
End Class
ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG
Các loại (catogories) base class trong .NET Frame sau:
• String
• Collections và Arrays: Arrays, Lists, Maps, Linked Lists, ...
ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG
Public Class Form1
Dim con As OleDbConnection ' Cục bộ trong Form
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Dim str As String = "Provider= Microsoft.Jet.OLEDB.4.0;" & "Data Source = " &
Application.StartupPath & "\quanlithuvien.mdb;" & "Jet OLEDB:Database Password =
123456"
con = New OleDbConnection(str)
con.Open()
End Sub
3.1 Command(Lệnh):
- Ví dụ : Dùng để Select hết tất cả dữ liệu trong bảng ra.
Dim command As New OleDbCommand()
1. command.Connection = con ' Kết nối
2. command.CommandType = CommandType.Text 'Loại lệnh sử dụng là Text
hay là một query trong access
3. command.CommandText = "Select * From tb DOCGIA" 'Lệnh cần làm với
Database
-Truyền tham số cho command
Ví dụ
- command.CommandText = "Select * From DanhsachSV Where Name =
@Name"(Ở đây ta có @Name là tham số mà ta cần phải điền giá trị cho nó, ta
gán giá trị như sau:
- commandInsert.Parameters.Add("@Name",OleDbType.VarChar).Value=
txtName.Text
3.2DataAdaptervàDataset,DataTable
- Chúng ta đã có Connect và commnand rồi, giờ chúng ta cần có một cái máy sử dụng
những cái trên để thực thi lệnh mà ta đưa ra --> Đó chính là DataAdapter.
- Khai báo một DataAdapter chỉ đơn giản thế này
4. command.CommandText = "Select * From DanhsachSV"
5. da.SelectCommand = command ‘ gán command cho da
6. 5.da.Fill(dt) 'Nạp dữ liệu vào Table
7. DataGridView1.DataSource = dt 'Load dữ liệu lên DataGridview
8. End Sub
3.4DataBinding
- Là sự kết hợp DataGridview và các Textbox, để khi chúng ta click vào một hàng bất
kỳ nào trên DataGridview thì dữ liệu của hàng đó sẽ hiện lên Textbox. Đó là kỹ
thuậtDataBinding.
- Thêm đoạn code sau vào sau đoạn code select ở trên các bạn sẽ thấy hiệu quả ngay.
'Databinding
1) txtSTT.DataBindings.Add("Text", dt, "STT") ‘ Ở đây ta cần binding textbox
txtSTT với giá trị Text ở cột STT của Table
txtName.DataBindings.Add("Text",dt,"Name")
txtAdress.DataBindings.Add("Text",dt,"Address")
txtPhone.DataBindings.Add("Text",dt,"Phone")
txtEmail.DataBindings.Add("Text", dt, "Email")
3.5 Insert một Row mới vào trong Table:
- Để insert một Row mới vào File data trước hết ta cần thêm một dòng mới vào
DataTable hay DataSet.
ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM
15
ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG
1. Private Sub btnInsert_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnInsert.Click
2. 'Tao 1 row moi theo cấu trúc row trong dt
3. Dim row As DataRow = dt.NewRow()
4. row("STT") = txtSTT.Text
5. row("Name") = txtName.Text
6. row("Address") = txtAdress.Text
13. commandUpdate.Parameters.Add("@Name", OleDbType.VarChar, 20, "Name")
14. commandUpdate.Parameters.Add("@Address", OleDbType.VarChar, 20,
"Address")
15. commandUpdate.Parameters.Add("@Phone", OleDbType.VarChar, 20,
"Phone")
16. commandUpdate.Parameters.Add("@Email", OleDbType.VarChar, 20,
"Email")
17. commandUpdate.Parameters.Add("@STT", OleDbType.Integer, 20, "STT")
3.7 Delete1Record:
- Xóa một Record cũng tương tự như Update chỉ khác phần SQL và tham số .
V í d ụ:Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnDelete.Click
1. 'Get Record can update trong Table
2. Dim row As DataRow = dt.Select("STT = " &
Convert.ToInt32(txtSTT.Text))(0)
3. row.BeginEdit()
4. row.Delete()
5. row.EndEdit()
'Tao command để update sự thay đổi trên vào file data nguồn
6. Dim commandDelete As New OleDbCommand()
7. commandDelete.Connection = con
8. commandDelete.CommandType = CommandType.Text
ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM
17
ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG
'SQL for Delete
9. commandDelete.CommandText = "Delete From DanhsachSV Where
STT=@STT"
'Nap tham so cho các command trên
10. commandDelete.Parameters.Add("@STT", OleDbType.Numeric, 20, "STT")