ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG
TRƯỜNG
KHOA…………….
ĐỒ ÁN CHUYÊN NGÀNH
ĐỀ TÀI:
Tìm hiểu về VB. net
ĐỀ 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
Chương I: GIỚI THIỆU CHUNG VỀ VB.NET
I.1 Sơ lược về lịch sử của VB.NET…………………………………………3
I.2Các thành phần của.Net …………………………………………….4
I.2.1.NETServers…………………………………………………… 4
I.2.2.NETFramework
I.2.2.1 Lợi ích của .NET Framework……………………………………5
I.2.2.2 Phương pháp làm việc của .NET Framework…………………6
I.2.2.3 Xây dựng chương trình trong .NET FRAME…………………… 7
I.3 Kết nối cơ sở dữ liệu với ADO.NET
1.Tìm hiểu về khái niệm ADO.Net…………………………… 12
2. Namespace cần thiết để thao tác với Access hoặc SQL…… 13
3. Connect với Database trong ADO.Net………………………13
4 .Các biến và cách khai báo biến trong ADO.Net…………….19
II.3 Khác biệt cơ bản giữa Visual Basic.Net với Visual Basic 6 .0……………….24
Chương II .KH ẢO S ÁT PTTKHT QU ẢN L Ý TH Ư VI ỆN
II.1 Khảo sát ……………………………………………………………… 29
II.2 Phân tích ……………………………………………………………… 30
II 3 Thiết kế ………………………………………………………………….31
Chương III . XÂY DỰNG BÀI TOÁN QUẢN LÝ THƯ VIỆN TRÊN VB.NET
:
ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM
3
ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG
CHƯƠNG I: GIỚI THIỆU CHUNG VỀ VB.NET
I.1 Sơ lược về lịch sử của VB.NET:
Ngôn ngữ BASIC (Beginner's All Purpose Symbolic Instruction Code) đã có
từ năm 1964. Trong vòng 15 năm đầu, có rất nhiều chuyên gia Tin Học và
công ty tạo các chương trình thông dịch (Interpreters) và biên dịch
(Compilers) cho ngôn ngữ làm BASIC trở nên rất phổ thông.
Năm 1975, Microsft tung ra thị trường sản phẩm đầu tay Microsoft BASIC
và 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.
Tập hợp các dịch vụ yểm trợ mọi ngôn ngữ lập trình .NET gọi là
Common LaguageRuntime(CLR).
Hãy quan sát thành phần cơ bản của.NET:
UserApplications
.NETFramework
.NETServers
.NETDevices
HardwareComponents
I.2.1.NETServers
.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
5
ĐỒ Á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
browser hiệu quả hơn. Hơn nữa, còn bao gồm nhiều thành phần soạn sẵn
(pre-written components) gọi là Server Control dùng trong các HTML
Form và giao diện (user interface) làm việc phát triển mạng thêm dễ dàng
và đầy hứng thú.
Các ngôn ngữ lập trình được phác thảo để làm việc gần nhau hơn,
do đó nguồn mã của VB.NET, C++, C#, có thể sử dụng trộn lẫn với
nhau rất thoải mái, tỷ như ta có thể viết mã cho 1 class với VB.NET rồi kế
thừa 1 class khác mà mã là C# hay C++, sau đó vẫn 'debug' ngon lành
giữa các ngôn ngữ lập trình khác nhau đó.
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
7
ĐỒ Á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.
notepad để lập trình. Phần code nầy thay thế cái phần nằm ở đầu tệp .frm của VB6
để diễn tả các visual components của form. Mỗi lần ta thêm bớt các controls hay
thay thế các properties của controls trên form thì code generated cho form được thay
đổi theo. Do đó bạn nên tránh sửa đổi code ấy, trừ khi biết chắc mình đang làm gì,
hay là bạn làm một phiên bản trước khi thay đổi để nếu lỡ kẹt thì restore code cũ.
• Event được xử lý bằng cách linh động hơn. Các events chứa nhiều tin tức hơn.
Một Event có thể được xử lý bởi nhiều controls cùng một lúc và mỗi control có một
cách xử lý khác nhau. Ngược lại, nhiều Events khác nhau có thể được xử lý bằng
một Event Handler duy nhất.
I.2.3 Những thành phần cơ bản:
3.1 Thực đơn chính (Main Menu)
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
9
ĐỒ Á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ệ.
Undo
Redo
Navigate Backward (lướt lui)
Navigate Forwards (lướt tới)
Nút Start để chạy thử ứng dụng trong IDE
Build Configuration (bố trí xây dựng ứng dụng) trong IDE. Ở đây, cho ta biết bố trí
hiện dùng là Debug
ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM
11
ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG
Truy tìm tập tin (Find in files)
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
12
Class
ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM
13
ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG
2. Namespace cần thiết để thao tác với Access hoặc SQL
1. Imports System.Data
2. Imports System.Data.OleDb 'sử dụng với access
3. imports System.Data.sqlclient ’sử dụng với sql
3.Connect với Database:
Ví dụ :file cần kết nối là quanlithuvien.mdb được đặt trong thư mục Debug và có
Password là 123456.
ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM
14
ĐỒ Á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
'Tạo một đối tượng Datatable nhận dữ liệu trả về
Dim dt As New DataTable("DanhsachSV")
'Tạo bộ máy DataAdapter thực hiện command
Dim da As New OleDbDataAdapter()
//tạo form để kết nối với dữ liệu đã tạo ra ở trên:
Private Sub btnLoad_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnLoad.Click
'Tạo command để lấy dữ liệu ra ngoài
1. Dim command As New OleDbCommand()
2. command.Connection = con ' Kết nối
3. command.CommandType = CommandType.Text 'loại lệnh sử dụng là Text hay
là một query trong access
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")
ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG
5. row("Address") = txtAddress.Text
6. row("Phone") = txtPhone.Text
7. row("Email") = txtEmail.Text
8. row.EndEdit()
'Tao command để update sự thay đổi trên vào file data nguồn
9. Dim commandUpdate As New OleDbCommand()
10. commandUpdate.Connection = con
11. commandUpdate.CommandType = CommandType.Text
'SQL for Update
12. commandUpdate.CommandText = "Update DanhsachSV Set Name=@Name,
Address=@Address, Phone=@Phone, Email=@Email Where STT=@STT"
'Nap tham so cho các command trên
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()
6. row("Email") = txtEmail.Text
7. row.EndEdit()
8. ‘Update dữ liệu
9. da.Update(dt)
3.9Gọi thực thi một Query có sẵn trong file Access
- Ví dụ bạn mở file access của bạn ra click vào Tab Queries và viết một Query tên
là QuerySelect
ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM
19
ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG
SELECT *
1. FROM DanhsachSV
2. WHERE STT>[@STT];
- Để làm điều này thật đơn giản, ta dùng command mà thôi
1. Private Sub btnQuery_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnQuery.Click
2. Dim command As New OleDbCommand()
3. command.Connection = con
4. command.CommandType = CommandType.StoredProcedure ' Xác định
ta đang gọi query trong file access
5. command.CommandText = "QuerySelect" 'Tên của Query
6. command.Parameters.Add("@STT", OleDbType.Numeric).Value = 5
'Nạp giá trị cho tham số @STT
7. 'Nạp command trên vào DataAdapter tùy theo dạng của command là
Select, insert, update hay delete
8. da.SelectCommand = command
9. dt.Clear() 'Xóa dữ liệu cũ
10. da.Fill(dt)
11. DataGridView1.DataSource = dt
12. End Sub
Decimal Floating-ppints 12 bytes (System.Decimal)
Char String single Unicode character (System.Char)
Date Dates ngày giờ (Ssytem.DateTime)
Boolean Boolean Có/Không hay Ðúng/Sai , True/False (System.Boolean)
2.Arrays(MẢNG):
Arrays là 1 tập hợp các biến số được liên hệ riêng biệt qua chỉ số (index) của
Arrays.
Arrays dùng trong VB.NET bắt đầu với index bằng số 0.
Mọi biến số trong Array phải cùng loại dữ kiện (same data type), không thể trộn
lẫn nhiều loại khác nhau.
Khai báo:
Dim myArray(9) As Integer
Dim yourArray( ) As String = { "Tý", "Sữu", "Dần", "Mão", "Thìn", Tỵ", _
"Ngọ", "Mùi", "Thân", "Dậu", "Tuất", "Hợi" }
3.Operators ( Toán tử )
ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM
21
ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG
Operators là các ký hiệu dùng để thi hành 1 công việc thuộc phạm vi Toán Học
Công dụng Operators (Các dấu Toán Học)
Exponentiation ^
Unary negation (9) +, -
Multiplication, division *, \
Division by /
Modulus ( 6 Mod 4 = 2) Mod
Addition, Substraction +, -
Bitwise NOT, AND, OR và XOR BitNot, BitAnd, BitOr, BitXor
Concatenation (for string) &, +
Equal to, not equal to, less than, greater than =, <>, <, >
Less than or equal to, greater than or equal to <=, >=
4.3 Phát biểu if …else nhiều dòng:
Trong trường hợp khi điều kiện đúng xảy ra và có nhiều dòng phát biểu l
lệnh được thực thi,ta dùng cú pháp sau:
If dieukien Then
Phát biểu thực thi 1
Phát biểu thực thi 2
………
Phát biểu thực thi n
End If
Ví dụ:
Dim n as Interger =0
If n=0 Then
n++
messgageBox(“gia tri cua n la:&n)
End If
4.4 Phát biểu If Then Else
Phát biểu được thực thi theo sơ đồ sau:
4.5 Phát biểu if then else if và các if lồng nhau:
ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM
Thực thi sự kiện
Kiểm
tra điều
kiện
Hiển thị kết quả cuối cùng
F T
KIỂM TRA ĐIỀU KIỆN SAI
VÀ DỪNG
23
ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG
Khi xét một điều kiện nếu đúng thì thực thi phát biểu lệnh và nếu sai thì
Ví dụ:
Dim int YO as Integer
int YO=int 32.Parse(textbox1.text)
select Case intYO
Case intYO<18
messageBox.show ("ban chua den tuoi " &"vi thanh
nien")
Case intYO<25
messageBox.show ("ban con tre")
Case intYO<35
messageBox.show ("ban da truong thanh")
ĐỀ TÀI:TÌM HIỂU VỀ VB.NET SVTH:TRẦN THỊ THÊM
24
ĐỒ ÁN CHUYÊN NGHÀNH GVHD: ĐOÀN VĂN THẮNG
Case intYO<55
messageBox.show ("ban da thanh dat")
Case else
messageBox.show ("ban nen nghi ngoi di nhe")
End select
5.Phát biểu vòng lặp:
5.1 Vòng lặp Do:
Sử dụng vòng lặp Do để thựuc hiện lặp chô đến khi hoặc trong khi một điều kiện
xác định là đúng.
Vòng lặp Do phù hợp với những trường hợp mà ở đó biết trước điều gì sẽ xảy ra
theo thứ tự để điều kiện kiểm tra trở thành đúng.
DO…WHILE:Thực hiện lặp trong khi điều kiện vẫn đúng
Cú pháp 1:
DO WHILE điều kiện //biểu thức được kiểm tra ở mỗi lần lặp
Phát biểu thực thi
LOOP