Vãi ph¿m vi cÿa tài liáu này, chúng tôi cung cÃp cho ng°åi học các kiÁn thāc và kỹ năng chính sau: - Cài đặt và sÿ dăng đ°āc vãi môi tr°ång VB.NET trên bá Visual Studio.Net 2010 trç lên;
Trang 1Sæ LAO ĐàNG, TH¯¡NG BINH VÀ Xà HàI ĐÂK LÂK
TR¯âNG TRUNG CÂP TR¯âNG S¡N
GIÁO TRÌNH
MÔ ĐUN: L¾P TRÌNH WINDOWS 1 NGHÂ: CÔNG NGHÞ THÔNG TIN TRÌNH ĐÞ: TRUNG CÂP
Ban hành kèm theo Quyết định số: 140 /QĐ-TCTS ngày 02 tháng 8 năm 2022
của Hiệu trưởng Trường trung cấp Trường Sơn
Đắk Lắk, năm 2022
Trang 3LâI GIàI THIÞU
Đây là tài liáu đ°āc biên so¿n theo ch°¢ng trình đào t¿o Cao đẳng nghà Công nghá thông tin (āng dăng phần mÃm)
ĐÅ học tát môn học này, ng°åi học nên có kiÁn thāc và lÁp trình căn bÁn
LÁp trình Windows 1 là mát mô đun nhằm giúp ng°åi học có kiÁn thāc và kỹ năng lÁp trình c¢ sç trên môi tr°ång Windows Vãi ph¿m vi cÿa tài liáu này, chúng tôi cung cÃp cho ng°åi học các kiÁn thāc và kỹ năng chính sau:
- Cài đặt và sÿ dăng đ°āc vãi môi tr°ång VB.NET trên bá Visual Studio.Net
- Xây dựng các āng dăng Windows Forms đ¢n giÁn kÁt nái đÁn c¢ sç dā liáu;
- Nghiêm túc, tỉ mỉ trong quá trình tiÁp cÁn vãi công că mãi;
- Chÿ đáng sáng t¿o tìm kiÁm các āng dăng viÁt trên VB.Net
Trong quá trình biên so¿n, chúng tôi có tham khÁo nhiÃu nguồn tài liáu khác nhau và từ nguồn Internet Mặc dù rÃt cá gÃng biên so¿n l¿i nh°ng chÃc chÃn không tránh khßi nhāng thiÁu sót, tác giÁ rÃt mong nhÁn đ°āc nhāng ý kiÁn đóng góp đÅ tài
liáu ngày càng hoàn thián h¢n đÅ cung cÃp cho ng°åi học nhāng kiÁn thāc và kỹ năng trọng tâm
Tài liáu này đ°āc thiÁt kÁ theo từng mô đun/ môn học thuác há tháng mô đun/ môn học cÿa ch°¢ng trình đào t¿o hoàn chỉnh nghà Công nghá thông tin (Āng dăng phần mÃm) ç trình đá Cao đẳng Tài liáu dùng làm giáo trình học tÁp cho sinh viên trong các khóa đào t¿o và cũng có thÅ đ°āc sÿ dăng đào t¿o ç Trung tâm đÅ cÃp chāng chỉ, đồng thåi có thÅ làm tài liáu tham khÁo cho các lÁp trình viên
Xin chân thành c Ám ¢n!
ĐÃk LÃk, ngày 02 tháng 8 năm 2022
Tham gia biên so¿n
1 Nguyßn Thị Vân - Chÿ biên
2 Ph¿m Văn Bôn
3 Đàm Văn Đồng
Trang 4iv
MĂC LĂC
LäI GIâI THIàU iii
BÀI 1 GIâI THIàU MICROSOFT VISUAL STUDIO NET 8
1 Tổng quan và NET 8
2 Tổng quan và Net Framework 8
3 Môi tr°ång lÁp trình Visual Basic.Net 9
4 T¿o mãi mát dự án (Project) 9
5 Tổ chāc l°u trā dự án 13
6 Các cÿa sổ trong môi tr°ång lÁp trình Vb.net 15
7 Cài đặt môi tr°ång lÁp trình VB.net (Visual studio 2010) 20
BÀI 2 CÁC ĐàI T¯ĀNG ĐIÂU KHIÄN CONTROL TRONG VISUAL BASIC.NET 21
1 Màn hình giao tiÁp form 21
2 T¿o mãi form, thao tác c¢ bÁn trên form 21
3 Thuác tính c¢ bÁn cÿa form 21
4 Các đái t°āng điÃu khiÅn 21
5 Thuác tính chung cÿa đái t°āng 21
6 Mát sá ph°¢ng thāc cÿa đái t°āng 21
BÀI 3: CÁC LàNH CÂU TRÚC TRONG VISUAL BASIC.NET 22
1 BiÁn và khai báo biÁn: 22
1.1 Khai báo biÁn 22
1.2 Ph¿m vi cÿa biÁn: 24
2 Hằng sá: 24
3 CÃu trúc lánh 24
3.1 CÃu trúc chọn lựa 25
3.2 CÃu trúc điÃu khiÅn: Câu lánh r¿ nhánh If 25
3.3 CÃu trúc lặp: 27
BÀI 4: LÀP TRÌNH C¡ Sæ DĀ LIàU 30
1 Ôn tÁp c¢ sç dā liáu và các thao tác c¢ bÁn 30
2 T¿o mãi c¢ sç dā liáu 30
3 Truy vÃn dā liáu 30
4 KÁt nái c¢ sç dā liáu 31
5 Xây dựng hàm kÁt nái đÁn c¢ sç dā liáu 31
5 Xây dựng hàm đóng kÁt nái 32
BÀI 5: MAIN SUB FORM TRONG VB.NET 44
1 ThiÁt kÁ thực đ¢n bằng MenuStrip 44
Trang 51.1 T¿o Menu 44
1.2 Mát sá tùy biÁn cho Menu 45
1.3 ViÁt lánh cho sự kián cÿa menu 46
2.1 Form cha 48
2.2 Form con 49
3 Sÿ dăng các điÃu khiÅn c¢ bÁn 50
3.1 Mái quan há giāa thuác tính, ph°¢ng thāc và sự kián 50
3.2 Sự kián 52
4 Làm viác vãi Module 61
4.1 T¿o và l°u module chuẩn 61
4.2 Sÿ dăng các biÁn Public 63
BÀI 6: THIÀT KÀ BÁO CÁO VB.NET 68
1 ThiÁt kÁ báo cáo 68
2 In Ãn báo cáo 76
BÀI 7: ĐÓNG GÓI ĀNG DĂNG 78
1 Đóng gói āng dăng 78
2 Phân phái āng dăng 80
TÀI LIàU THAM KHÀO 86
Trang 6vi
GIÁO TRÌNH MÔ ĐUN Tên mô đun: L¾P TRÌNH WINDOWS 1
Mã mô đun: MĐ17
V ị trí, tính chÃt, ý nghĩa và vai trò cÿa mô đun:
- Vị trí: Là mô đun trong bài trình đào t¿o Trung cÃp nghà Công nghá thông tin (Āng dăng phần mÃm) Mô đun đ°āc bá trí giÁng d¿y cho học sinh sau khi đã học xong các môn học, mô đun kỹ thuÁt c¢ sç và môđun Há quÁn trị c¢ sç dā liáu Access
- Tính chÃt: Ch°¢ng trình mô đun bao gồm mát sá nái dung c¢ bÁn và tổng quan và phần mÃm Visual Studio 2010 và các khái niám liên quan Cung cÃp các thao tác và kỹ thuÁt và thiÁt lÁp c¢ sç phần mÃm, thiÁt kÁ, quÁn lý dự án
- Ý nghĩa và vai trò cÿa mô đun:
M āc tiêu cÿa mô đun:
- Xây dựng đ°āc các āng dăng Windows Forms;
- KÁt nái đ°āc c¢ sç dā liáu và các ph°¢ng pháp t°¢ng tác dā liáu;
- Xây dựng đ°āc phần mÃm āng dăng vãi các tính năng chính nh° cÁp nhÁt dā liáu, truy vÃn dā liáu, báo cáo, ;
- Tham VÁn dăng ngôn ngā lÁp trình VB.NET đÅ lÁp trình các sÁn phẩm phần mÃm đáp āng vãi điÃu kián chung cÿa xã hái;
- VÃ năng lực tự chÿ và trách nhiám:
- Có khÁ năng t° ̣nghiên cāu, t° ̣hoc,̣ tham khÁo tài liêă liên quan đÁn mô đun
đÅ vâ渃⌀ dung ̣ vào hoa球⌀ đông̣ hoc tâp;
- Nghiêm túc, có tinh thần phái hāp tham gia học, làm nhóm theo yêu cầu cÿa giáo viên;
- Rèn luyán tính tổ chāc, tính tÁp thÅ, linh ho¿t, khoa học, cẩn thÁn;
Trang 7- Học sinh phÁi tích lũy đÿ sá giå học theo quy định, tham gia đầy đÿ các giå thực hành;
- Học sinh phÁi có đ°āc tính cẩn thÁn và t° duy sáng t¿o khi lÁp trình āng dăng
N ßi dung cÿa mô đun:
Th ực hành
Ki Åm tra*
1 Bài 1: Giãi thiáu tổng quan và ngôn ngā
2 Bài 2: Các đái t°āng điÃu khiÅn control
3 Bài 3: Các lánh cÃu trúc trong Visual
4 Bài 4: LÁp trình c¢ sç dā liáu 23 6 17
5 Bài 5: Main sub form trong VB.Net 3 1 2
Trang 8BÀI 1 GIàI THIÞU MICROSOFT VISUAL STUDIO NET Giái thißu
Māc tiêu
- Tìm hiÅu tổng quan và ngôn ngā lÁp trình Visual Basic.Net;
- Làm chÿ đ°āc môi tr°ång lÁp trình Visual Basic.Net;
- Trình bày đ°āc các thao tác đÅ t¿o và tổ chāc l°u trā dự án;
- Cài đặc đ°āc môi tr°ång lÁp trình Visual Basic.Net trên há điÃu hành
Windows;
- T¿o mãi và tổ chāc l°u trā đ°āc dự án trên phần mÃm Visual Studio;
- Có tính cần cù, cẩn thÁn, chăm chỉ trong công viác tìm hiÅu tổng quan và ngôn ngā lÁp trình Visual Basic.Net
Nßi dung
Vãi sự phát triÅn liên tăc và đa d¿ng cÿa thÁ giãi công nghá thông tin ngày nay, các phần mÃm, các há điÃu hành, các môi tr°ång phát triÅn và các āng dăng liên tăc ra đåi Tuy nhiên, đôi khi viác phát triÅn không đồng nhÃt và nhÃt là do không t°¢ng thích và mặt lāi ích cÿa các công ty phần mÃm lãn đã làm Ánh h°çng đÁn công viác cÿa nhāng kỹ s° xây dựng phần mÃm
Trong giãi phát triÅn āng dăng trên Internet ta có thÅ sÿ dăng các ngôn ngā Java, PHP, ASP Khi Java mãi đ°āc Sun Corporation giãi thiáu nó đã có mát sāc m¿nh đáng kÅ và h°ãng tãi viác ch¿y trên nhiÃu há điÃu hành khác nhau, đác lÁp vãi các bá xÿ lý Đặc biát Java rÃt thích hāp cho viác viÁt các āng dăng trên Internet Tuy nhiên, Java l¿i có h¿n chÁ và mặt tác đá và trên thực tÁ v¿n ch°a thịnh hành
ĐÅ làm giÁm khÁ năng Ánh h°çng cÿa Java, bên hãng Microsoft cũng cung cÃp ngôn ngā ASP - chuyên dùng đÅ viÁt các āng dăng trên Web Trong các trang ASP vừa chāa thẻ HTML vừa chāa các đo¿n script (VBScript, JavaScript) Trong quá trình
xÿ lý mát trang ASP, nÁu là thẻ HTML thì s¿ đ°āc gÿi thẳng tãi trình duyát, còn nÁu
là các đo¿n script thì s¿ đ°āc chuyÅn thành các dòng HTML rồi gÿi đi Khi nhà lÁp trình muán đóng gói và sÿ dăng l¿i mát sá chāc năng nào đó, thì họ dịch các đo¿n ch°¢ng trình thành ActiveX và đ°a nó vào Web Server Tuy nhiên, vì lý do bÁo mÁt nên các Admin cÿa các trang Web th°ång rÃt dè dặt khi cài ActiveX l¿ trên máy cÿa
họ, ngoài ra viác tháo gÿ các phiên bÁn cÿa ActiveX này cũng là công viác rÃt khó khăn
Còn trong giãi phát triÅn āng dăng trên Windows ta có thÅ viÁt āng dăng bằng Visual C++, Delphi, Visual Basic đây là mát sá công că phổ biÁn và m¿nh Trong đó Visual C++ là mát ngôn ngā rÃt m¿nh nh°ng cũng rÃt khó sÿ dăng Visual Basic thì đ¢n giÁn dß học, dß dùng nhÃt nên rÃt thông dăng nh°ng h¿n chÁ là Visual Basic không phÁi ngôn ngā h°ãng đái t°āng và không hß trā khÁ năng phát triÅn thuÁt toán
Tóm l¿i trong giãi lÁp trình theo Microsoft thì viác lÁp trình trên desktop cho đÁn lÁp trình há phân tán hay trên web là nhāng mÁng đác lÁp
Trang 9Đầu năm 1998, sau khi hoàn tÃt phiên bÁn Version 4 cÿa Internet Information Server -IIS,đái ngũ lÁp trình cÿa Microsoft nhÁn thÃy họ còn có rÃt nhiÃu sáng kiÁn đÅ
có thÅ kián toàn IIS, và họ bÃt đầu xây dựng mát kiÁn trúc mãi trên nÃn tÁng ý t°çng
đó và đặt tên là Next Generation Windows Services - NGWS Tham vọng cÿa họ là cung cÃp mát môi tr°ång có thÅ dùng chung cho tÃt cÁ ngôn ngā lÁp trình trong bá Visual Studio cũng nh° cho các ngôn ngā lÁp trình cÿa các công ty khác
KÁt quÁ là năm 2001 Visual Studio.Net 2001 ra đåi đánh dÃu cho mát môi tr°ång lÁp trình trên nÃn NET Framework 1.0 tiên tiÁn mãi
Năm 2003, sau 2 năm NET Framework nâng cÃp thêm mát bÁc vãi phiên bÁn 1.1 vãi đặc điÅm ngoài các ch°¢ng trình Windows truyÃn tháng - là các táp tin exe giå đây Windows còn tồn t¿i nhāng ch°¢ng trình khác - nhāng ch°¢ng trình ch¿y trên nÃn NET Muán ch¿y ch°¢ng trình NET ta chỉ cần cài NET Framework là đÿ Mát điÅm lý thú và cũng là điÃu mong đāi cÿa tÃt cÁ lÁp trình viên, từ phiên bÁn Windows
2003 NET Framework đ°āc cài đặt nh° mát phần mặc định cÿa Windows Song song
đó, môi tr°ång phát triÅn Visual Studio NET 2001 đ°āc nâng cÃp thành Visual Studio NET 2003 cho phép viÁt và ch¿y các āng dăng trên nÃn NET Framework 1.1
Cuái năm 2005, Visual Studio 2005 vãi nÃn NET Framework 2.0 m¿nh m¿ và v°āt trái h¢n so vãi nÃn NET Framwork 1.1 tr°ãc đó Ngay sau đó Microsoft công bá phiên bÁn Windows Vista, và toàn bá Windows là NET, tÃt cÁ các hàm API lõi trong nhāng phiên bÁn Windows tr°ãc đây đÃu đã đ°āc thay thÁ bằng các hàm hay th° vián NET Microsoft đã viÁt l¿i hoàn toàn lõi API, không còn mát lãp API nào nāa
Visual Studio.NET gồm 2 phần: Framework và Integrated Development Environment- IDE, cho phép lÁp trình viên khi xây dựng các āng dăng có thÅ lựa chọn
sÿ dăng nhiÃu ngôn ngā lÁp trình khác nhau nh° Visual C++.NET, Visual C#.NET, Visual J#.NET, Visual Basic.NET trong cùng mát môi tr°ång phát triÅn IDE tháng nhÃt trên kiÁn trúc NET Framework
Framework là thành phần quan trọng nhÃt, là cát lõi và tinh hoa cÿa môi tr°ång NET, Framework giúp chúng ta biên dịch và thực thi các āng dăng NET (cÃu trúc cÿa Framework chúng ta s¿ tìm hiÅu ç các ch°¢ng sau cÿa giáo trình)
IDE cung cÃp mát môi tr°ång phát triÅn trực quan, giúp các lÁp trình viên có thÅ dß dàng và nhanh chóng xây dựng giao dián cũng nh° viÁt mã lánh cho các āng dăng dựa trên nÃn tÁng NET NÁu không có IDE chúng ta cũng có thÅ dùng mát trình so¿n thÁo văn bÁn bÃt kỳ, ví dă nh° Notepad đÅ viÁt mã lánh và sÿ dăng command line
đÅ biên dịch và thực thi āng dăng Tuy nhiên viác này mÃt rÃt nhiÃu thåi gian, tát nhÃt
là chúng ta nên dùng IDE đÅ phát triÅn các āng dăng, và đó cũng là cách dß sÿ dăng nhÃt
Ngoài ra trong Visual Studio.NET thì lÁp trình Winform và Webform là t°¢ng
tự, ví dă cÁ Visual C#.NET l¿n Visual Basic.NET đÃu hß trā khÁ năng lÁp trình trên Win và Web
ĐÅ khçi đáng Visual C# 2010 và giao dián: Vào Start/Programs/Microsoft
Visual Studio 2010/Microsoft Visual Studio 2010, xuÃt hián cÿa sổ Start Page
Trang 10Hình 1 Cÿa sổ Start Page
+ New Project: T¿o đồ án mãi
+ Open Project: Mç các đồ án có sẵn
+ Recent Projects: Danh sách các đồ án gần đây nhÃt
Kích chọn măc New Project hoặc vào File/New/Project hoặc bÃm phím tÃt
Ctrl+Shift+N s¿ xuât hián cÿa sô New Project
Hình 2 Cÿa sổ New Project
+ Chọn ngôn ngā Visual Basic và āng dăng Windows
+ Đặt tên cho đồ án t¿i măc Name
+ Chọn đ°ång d¿n l°u đồ án t¿i măc Location
Trang 11+ Chọn OK đÅ t¿o mát đồ án mãi
* L°u ý:
+ Măc Create directory for solution cho phép t¿o mát th° măc t¿i Location
chāa tÃt cÁ các táp phát sinh cÿa đồ án (nÁu không các táp cÿa đồ án s¿ đ°āc l°u t¿i Location)
T¿o āng dāng đầu tiên
Bây giå đÅ làm quen vãi giao dián, chúng ta t¿o āng dăng đầu tiên Trong āng dăng này có sÿ dăng các điÃu khiÅn c¢ bÁn nhÃt là Label, TextBox và Button đÅ thiÁt
kÁ form nhÁp vào hai sá nguyên, tính tổng cÿa hai sá và hián kÁt quÁ
Trang 12Hình 14 Giao dián form cáng hai sá
B°ác 1: Đặt tên cho các điÃu khiÅn
Sau khi t¿o mát đà án mãi nh° phần trên, thay đổi thuác tính cÿa form Form1.vb và thay đổi thuác tính cÿa các điÃu khiÅn trên form nh° sau:
B°ác 2: ViÁt lánh
NhÃp đôi chuát vào nút lánh btnTong và viÁt đo¿n lánh sau:
Private Sub btnTong_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTong.Click
Dim tong As Integer = Convert.ToInt32(txtSo1.Text) +
Convert.ToInt32(txtSo2.Text)
lblKQ.Text = tong.ToString()
End Sub
æ đo¿n lánh trên, dòng đầu tiên:
Private Sub btnTong_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTong.Click
Là sự kián Click cÿa nút lánh, tự đáng sinh ra khi ng°åi lÁp trình nhÃp đôi
Trang 13chuát vào nút lánh btnTong Đây cũng là sự kián mặc định cÿa nút lánh
Dòng tiÁp theo là khai báo biÁn tên tong (đÅ hiÅu rõ h¢n và cú pháp khai báo biÁn chúng ta s¿ xem xét kỹ ç bài 2 cÿa giáo trình này):
Dim tong As Integer = Convert.ToInt32(txtSo1.Text) +
Convert.ToInt32(txtSo2.Text)
Có thÅ thay thÁ bằng dòng lánh:
Dim tong As Integer = Integer.Parse(txtSo1.Text) +
Integer.Parse(txtSo2.Text)
Dùng đÅ chuyÅn kiÅu giá trị chußi nhÁp vào hai điÃu khiÅn TextBox thành kiÅu
sá nguyên, sau đó cáng hai sá và gán kÁt quÁ cuái cùng cho biÁn tong
Namespaces giúp tổ chāc các đái t°āng cÿa mát Assembly thành mát cÃu trúc
đÅ dß hiÅu h¢n, chúng nhóm các đái t°āng liên quan l¿i vãi nhau đÅ dß truy cÁp bằng code:
+ Ví dă namespace SQLClient đ°āc định ngĩa trong System.Data
Namespaces t¿o phÁi đầy đÿ tên cÿa đái t°āng, tránh sự nhÁp nhằng và các tên xung đát vãi các class
Assembly th°ång định nghĩa Namespace gác cho Project, đ°āc thiÁt lÁp trong
háp tho¿i Project Properties Assemply có Namespace gác là MyAssembly
Ví dă:
Namespace Top
'Tên đầy đÿ là MyAssembly.Top
Public Class Inside
'Tên đầy đÿ là MyAssembly.Top.Inside
End Class
Namespace InsideTop
Trang 14'Tên đầy đÿ là MyAssembly.Top.InsideTop
Public Class Inside
'Tên đầy đÿ là MyAssembly.Top.InsideTop.Inside
Public Sub Perform( )
Dim x As New Top.Inside( )
Dim y As New Top.InsideTop.Inside( )
End Sub
Khi gọi code phÁi tham chiÁu đầy đÿ đÁn tên cÿa Namespace, điÃu này làm cho code khó đọc:
Dim x As New MyAssembly.Top.InsideTop.Inside
Vì vÁy, chúng ta có thÅ dùng câu lánh Imports đÅ code đ¢n giÁn h¢n nh° sau: Imports MyAssembly.Top.InsideTop
Dim x As New Inside( )
Chúng ta cũng có thÅ Import mát tên bí danh cho mát Namespace hoặc mát kiÅu
Ví dă:
Imports IT = MyAssembly.Top.InsideTop
Dim x As New IT.Inside
* L°u ý: ĐÅ thiÁt lÁp các thuác tính thông th°ång cho mát Project, chúng ta vào menu Project\<tên đà án> Properties háp tho¿i Properties cho Project s¿ xuÃt hián cho phép b¿n thay đổi các tham sá mặc định
Trang 15Hình 15 Cÿa sổ Project Properties
Menu Bar: Thanh Menu chāa đầy đÿ các công că cần đÅ phát triÅn, thực thi và cài đặt
āng dăng
+ File: cho phép mç, thêm mãi và l°u trā đồ án
+ Edit: gồm các thao tác hß trā viác so¿n thÁo mã lánh nh°: copy, cÃt, dán + View: cho phép hiÅn thị các công că hß trā ng°åi dùng trong quá trình xây
dựng đồ án nh°:
- Cÿa sổ viÁt mã lánh - Code
- Form thiÁt kÁ - Designer
- Háp công că - Toolbox
- Thanh công că - Toolbars
- Cÿa sổ thuác tính - Properties Window
+ Project: cho phép bổ sung các đái t°āng khác nhau vào đồ án nh°: các form,
các component, các modul, các lãp
+ Built: cho phép biên dịch đồ án
Trang 16+ Debug: cho phép ch¿y và gÿ rái ch°¢ng trình
+ Data: cho phép thêm mãi và hiÅn thị c¢ sç dā liáu cÿa đồ án
+ Tools: cung cÃp các công că cho phép kÁt nái tãi các thiÁt bị ngo¿i vi nh°
Pocket PC, Smartphone hoặc kÁt nái tãi các há quÁn trị c¢ sç dā liáu cũng nh° kÁt nái tãi máy chÿ server
Toolbar: thanh công că gồm mát tÁp hāp các nút lánh, mßi nút lánh chāa mát biÅu t°āng icons và có chāc năng t°¢ng đ°¢ng vãi chāc năng cÿa mát măc lựa chọn trong thanh menu Thanh công că rÃt hāu ích và trực quan, giúp ng°åi dùng dß dàng
và nhanh chóng thực hián mát chāc năng mong muán chỉ thông qua mát cái kích chuát
Visual Basic 2010 có tãi 39 thanh công că khác nhau nh°: Standard, Formatting, Debug, Build Ví dă hình Ánh thanh công că Standard:
Hình 5 Thanh công că Standard
ĐÅ gọi các thanh công că ta vào View/Toolbars khi đó s¿ xuÃt hián danh sách
tÃt cÁ các thanh công că Muán ẩn/hián thanh công că nào ta kích chọn t¿i dòng chāa tên thanh công că đó
Toolbox: là háp công că chāa các điÃu khiÅn - controls đ°āc đặt lên Form khi thiÁt kÁ giao dián ng°åi dùng
ĐÅ hiÅn thị háp công că ta thực hián mát trong các cách sau:
+ Vào View/Toolbox
+ BÃm tổ hāp phím Ctrl + W+X
+ Kích chuát t¿i biÅu t°āng Toolbox
Hình 6 Háp công că Toolbox
Mặc định háp công că đ°āc chia thành 11 tab khác nhau nh°: All Windows Forms, Common Controls
Trang 17Hình 7 Các chāc năng làm viác vãi tab trong Toolbox
Ta có thÅ thêm mãi, lo¿i bß, đổi tên các tab bằng cách kích chuát phÁi t¿i vị trí bÃt kỳ trên tab, xuÃt hián mát menu ngā cÁnh cho phép lựa chọn các thao tác cần thực hián
Trong mßi tab cÿa háp Toolbox chāa danh sách các lo¿i điÃu khiÅn khác nhau, các điÃu khiÅn này có thÅ thêm mãi, lo¿i bß, thay đổi vị trí Kích chuát phÁi t¿i mát điÃu khiÅn bÃt kỳ trên tab, xuÃt hián mát menu ngā cÁnh cho phép lựa chọn các thao tác cần thực hián
Ví dă đÅ thêm mãi mát điÃu khiÅn vào trong tab Data, ta kích chuát phÁi t¿i vị
trí bÃt kỳ trên tab Data, chọn Choose Items
Hình 8 Các chāc năng làm viác vãi từng điÃu khiÅn trong tab
KÁt quÁ s¿ xuÃt hián cÿa sổ Choose Toolbox Items, kích chọn các điÃu khiÅn
mong muán rồi bÃm OK đÅ kÁt thúc
Trang 18Hình 9 Cÿa sổ Choose Toolbox Items
Form Designer: cÿa sổ thiÁt kÁ dùng đÅ thiÁt kÁ giao dián cho ch°¢ng trình, mßi dự án có thÅ có mát hoặc nhiÃu Form
Hình 10 Cÿa sổ Form Designer
Solution Explorer: cÿa sổ giÁi pháp - đây là phần cÿa sổ giúp ta quÁn lý tÃt cÁ
các tài nguyên và tÁp tin dự án
Solution Explorer đ°āc tổ chāc thành mát cÃu trúc cây bao gồm nhāng măc khác nhau, nh°: danh sách các Form cÿa đồ án, danh sách các lãp Class, danh sách các tài nguyên cũng nh° danh sách c¢ sç dā liáu
ĐÅ hiÅn thị cÿa sổ Solution Explorer ta thực hián mát trong các cách sau:
Vào View/Solution Explorer
BÃm tổ hāp phím Ctrl + W+S
Hình 11 Cÿa sổ Solution Explorer
Trong cÿa sổ Solution Explorer có hai thành phần hay dùng là View Code và View Designer
View Code: có tác dăng hiÅn thị cÿa sổ so¿n thÁo mã lánh cho Form đang đ°āc chọn Ngoài ra, đÅ hiÅn thị cÿa sổ so¿n thÁo mã lánh ta còn có mát sá cách khác nh° sau:
+ Vào View/Code
+ BÃm phím tÃt F7
+ Kích đúp chuát t¿i cÿa sổ thiÁt ke cÿa form Giao dián cÿa sổ so¿n thÁo nh° sau:
Trang 19Hình 12 Cÿa sổ so¿n thÁo
View Designer: có tác dăng hiÅn thị cÿa sổ thiÁt kÁ giao dián cÿa Form đang đ°āc chọn Ngoài ra, đÅ hiÅn thị cÿa sổ thiÁt kÁ giao dián ta còn có mát sá cách khác nh° sau:
.Hình 13 Cÿa sổ Properties
Trang 20Mßi thuác tính có mát giá trị mặc định, ta có thÅ thay đổi giá trị cÿa các thuác tính trực tiÁp t¿i cÿa sổ Properties trong lúc thiÁt kÁ, hoặc thay đổi bằng mã lánh trong lúc thi hành ch°¢ng trình
ĐÅ hiÅn thị cÿa sổ Properties ta thực hián theo mát trong các cách sau:
+ Vào View\Properties Window
+ Kích chọn biÅu t°āng Properties Window trên thanh công că Standard
+ BÃm phím tÃt Ctrl + W+P
Microsoft Intermediate Language (MSIL) hay Common Intermediate Language (CIL) là mát ngôn ngā trung gian đ°āc t¿o ra sau quá trình biên dịch từ các lo¿i ngôn ngā khác trong Net nh° C#, C++, VB.Net, J#, &
TÃt cÁ mã nguồn NET đÃu đ°āc biên dịch thành MSIL Sau đó MSIL s¿ đ°āc chuyÅn thành mã máy khi phần mÃm đ°āc cài đặt hoặc khi ch¿y (run-time) bçi trình biên dịch JIT (Just-In-Time)
Trang 21BÀI 2 CÁC ĐÞI T¯þNG ĐIÂU KHIÄN CONTROL TRONG VISUAL
BASIC.NET Giái thißu
Māc tiêu cÿa bài
- Trình bày đ°āc chāc năng cÿa các công că điÃu khiÅn trong háp công că Toolbox;
- Trình bày đ°āc mát sá thuác tính c¢ bÁn, các đái t°āng điÃu khiÅn và mát sá ph°¢ng thāc cÿa đái t°āng trong dự án trên phần mÃm Visual Studio;
- Sÿ dăng các đái t°āng điÃu khiÅn trong háp công că đÅ thiÁt kÁ các màn hình giao tiÁp form trong phần mÃm āng dăng;
- Có tính sáng t¿o, tỉ mỉ, cẩn thÁn khi sÿ dăng các đái t°āng điÃu khiÅn control trong Visual Basic.Net
Nßi dung
1 Màn hình giao tiÁp form
2 T¿o mái form, thao tác c¢ bÁn trên form
3 Thußc tính c¢ bÁn cÿa form
4 Các đßi t°ÿng điÃu khiÅn
5 Thußc tính chung cÿa đßi t°ÿng
6 Mßt sß ph°¢ng thāc cÿa đßi t°ÿng
Trang 22BÀI 3: CÁC LÞNH CÂU TRÚC TRONG VISUAL BASIC.NET
Giái thißu
Māc tiêu
- Khai báo và sÿ dăng đ°āc biÁn trong Visual Basic.Net;
- Xác định đ°āc hằng sá và biÁn khi lÁp trình trong Visual Basic.Net;
- Phân biát và xác định đ°āc các cÃu trúc lánh trong Visual Basic.Net;
- Trình bày đ°āc cú pháp và ý nghĩa các lánh cÃu trúc trong ngôn ngā lÁp trình Visual Basic.Net;
- VÁn dăng đ°āc cú pháp và ý nghĩa các lánh cÃu trúc trong ngôn ngā lÁp trình Visual Basic.Net khi xây dựng phần mÃm;
- Sÿ dăng thành th¿o ngôn ngā lÁp trình Visual Basic.Net đÅ thực hián các yêu cầu cÿa bài toán āng dăng;
- Có tính sáng t¿o, logic, tỉ mỉ, cẩn thÁn khi sÿ dăng các lánh cÃu trúc trong ngôn ngā lÁp trình Visual Basic.Net
N ßi dung
1 BiÁn và khai báo biÁn:
1.1 Khai báo biÁn
1.1.1 Các kiÅu dā lißu
Short 16-bit -32,678 - 32,767 Dim S as Short
S = 12500 Integer 32-bit -2,147,483,648 đÁn
Dim Sg as Single
Sg = 899.99 Double 64-bit (dÃu
phÁy đáng)
-1.797631348623E308 đÁn 1.797631348623E308
Dim D as Double D=3.1.4159265 Decimal 128-bit Trong khoÁng +/-
79,228x1024
Dim Dc as Decimal Dc=7234734.5
B=12
Ch==L=
Trang 23String NhiÃu ký tự Chāa 0 đÁn 2 tỷ ký tự St==Đāc LÁp= Dim St As String
Boolean 16-bit Hai giá trị True hay False Dim Bl As Boolean
Bl = True Date 64-bit Từ 1/1/1 đÁn 31/12/9999 Dim Da As Date
Da=#16/07/1984 Object 32-bit BÃt kỳ kiÅu đái t°āng nào Dim Obj As Object
Mßi āng dăng th°ång xÿ lý nhiÃu dā liáu, ta dùng khái niám "biÁn" đÅ l°u trā
dā liáu trong bá nhã máy tính, mßi biÁn l°u trā mát dā liáu cÿa ch°¢ng trình
Mặc dù VB không đòi hßi, nh°ng ta nên định nghĩa rõ ràng từng biÁn tr°ãc khi truy xuÃt nó đÅ code cÿa ch°¢ng trình đ°āc trong sáng, dß hiÅu, dß bÁo trì và phát triÅn
1.1.2 Biến (Variable) là vùng lưu trữ được đặt tên để chứa dữ liệu tạm thời
trong quá trình tính toán, so sánh và các công việc khác
BiÁn th°ång có hai đăc điÅm:
+ Mßi biÁn có mát tên
+ Mßi biÁn có thÅ chāa duy nhÃt mát lo¿i dā liáu
1.1.3 Khai báo biến
Cú pháp đ¢n giÁn cÿa lánh định nghĩa biÁn:
[Static\Public\Private\Dim] <tên biến> As <kiểu dữ liệu>l= <Biểu thức>]
Trong đó:
<tên biÁn>: là mát tên đ°āc đặt giáng quy tÃc đặt tên điÃu khiÅn NÁu cần khai báo nhiÃu biÁn trên mát dòng thì mßi khai báo cách nhau dÃu phẩy (,)
<kiÅu dā liáu>: là mát trong các kiÅu dā liáu đã tìm hiÅu ç trên
NÁu khai báo biÁn không xác định kiÅu dā liáu thì biÁn đó có kiÅu Variant
Khai báo ngầm: Đây là hình thāc không cần phÁi khai báo mát biÁn tr°ãc khi
sÿ dăng Cách dùng này có vẻ thuÁn tián nh°ng s¿ gây mát sá sai sót, chẳng h¿n khi ta đánh nhầm tên biÁn, VB.NET s¿ hiÅu đó là mát biÁn mãi d¿n đÁn kÁt quÁ ch°¢ng trình sai mà rÃt khó phát hián
Vì vÁy trong VB.NET b¿n cần khai báo biÁn tr°ãc khi sÿ dăng nó
Viác khai báo biÁn có thÅ đặt ç bÃt kỳ đâu nh°ng th°ång đ°āc đặt ç đầu mßi thÿ tăc, n¢i cần dùng biÁn
BiÁn cāc bß: là biÁn đ°āc khai báo trong mát khái lánh (Dim)
Ví dă: Tìm giá trị nghịch đÁo cÿa x
If x <> 0 Then
Dim rec As Integer
rec = 1/x
Trang 24Private: là biÁn chỉ có hiáu lực trong module đó (mặc định)
Friend: là biÁn chỉ có hiáu lực trong dự án đó
Public: biÁn có hiáu lực không chỉ trong dự án nó đ°āc khai báo mà còn trong các dự án khác có tham chiÁu đÁn dự án này
Ví dă:
Dim LastName As String
Phát biÅu trên khai báo mát biÁn tên là LastName có kiÅu dā liáu là String Sau
khi đã khai báo biÁn thì b¿n có thÅ gán hay l°u thông tin vào biÁn
Khåi t¿o giá trị cho biÁn
Ví dă sau đây vừa khai báo vừa khçi t¿o giá trị cho các biÁn:
const int HANG_SO = 100;
3 CÃu trúc lßnh
Các cÃu trúc lánh là thành phần c¢ bÁn cÿa mßi ngôn ngā lÁp trình Thông th°ång các ngôn ngā lÁp trình đÃu có các cÃu trúc lánh nh° nhau: lánh xÿ lý điÃu kián, lánh lặp biÁt tr°ãc sá vòng lặp, lánh lặp không biÁt tr°ãc sá vòng lặp, Tuy nhiên cách thÅ hián (cú pháp) mßi cÃu trúc lánh có thÅ khác nhau tuỳ thuác vào mßi ngôn ngā lÁp trình H¢n nāa, mßi ngôn ngā cũng có thÅ có mát sá điÅm khác biát, đặc tr°ng trong mßi cÃu trúc lánh
Cũng giáng nh° nhiÃu ngôn ngā lÁp trình hián đ¿i khác, các cÃu trúc lánh trong VB đÃu tuân thÿ các nguyên tÃc:
- Có cÃu trúc: mßi cÃu trúc lánh đÃu có từ khoá bÃt đầu và mát từ khóa báo
Trang 25hiáu kÁt thúc;
- Thực hián tuần tự (lo¿i trừ tr°ång hāp đặc biát thÿ tăc Goto <Label>);
- Có khÁ năng lồng nhau;
3.1 C Ãu trúc chọn lựa
Trong tr°ång hāp có quá nhiÃu các điÃu kián cần phÁi kiÅm tra, nÁu ta dùng cÃu
trúc r¿ nhánh If Then thì đo¿n lánh không đ°āc trong sáng, khó kiÅm tra, sÿa đổi khi
có sai sót Ng°āc l¿i vãi cÃu trúc Select Case, biÅu thāc điÃu kián s¿ đ°āc tính toán mát lần vào đầu cÃu trúc, sau đó VB s¿ so sánh kÁt quÁ vãi từng tr°ång hāp (Case) NÁu bằng nó thi hành khái lánh trong tr°ång hāp (Case) đó
Select Case <biÅu thāc kiÅm tra>
Case <Danh sách kÁt quÁ biÅu thāc 1>
Mßi danh sách kÁt quÁ biÅu thāc s¿ chāa mát hoặc nhiÃu giá trị Trong tr°ång
hāp có nhiÃu giá trị thì mßi giá trị cách nhau bçi dÃu phẩy (,) NÁu có nhiÃu Case cùng
thßa điÃu kián thì khái lánh cÿa Case đầu tiên s¿ đ°āc thực hián
Ví dă cÿa lánh r¿ nhánh If Then ç trên có thÅ viÁt nh° sau:
Trang 26If <điÃu kián> Then <dòng lệnh>
Trong đó, <điÃu kián>: biÅu thāc mà kÁt quÁ trÁ và kiÅu Boolean
Ý nghĩa câu lánh: Các dòng lệnh hay dòng lệnh s¿ đ°āc thi hành nÁu nh° điÃu
kián là đúng Còn nÁu nh° điÃu kián là sai thì câu lánh tiÁp theo sau cÃu trúc If Then đ°āc thi hành
D¿ng đầy đÿ: If Then Else
If <điÃu kián 1> Then
Ví dă:
If (TheColorYouLike = Color.Red) Then
MsgBox("B¿n là ng°åi may mÃn")
Elself (TheColorYouLike = Color.Green) Then MsgBox("B¿n là ng°åi có
Sai
ĐK Đúng
Các câu l ệnh
Trang 27nhiÃu hi vọng") ElseIf (TheColorYouLike = Color.Blue) Then
3.3.1 Lặp không biết trước số lần lặp
3.3.1.1 Câu lệnh Do Loop
Đây là cÃu trúc lặp không xác định tr°ãc sá lần lặp, trong đó, sá lần lặp s¿ đ°āc quyÁt định bçi mát biÅu thāc điÃu kián BiÅu thāc điÃu kián phÁi có kÁt quÁ là True hoặc False CÃu trúc này có 4 kiÅu:
Kiểu 1:
Do While <điÃu kián>
<khái lánh>
Loop
Khái lánh s¿ đ°āc thi hành đÁn khi nào điÃu kián không còn đúng nāa
Do biÅu thāc điÃu kián đ°āc kiÅm tra tr°ãc khi thi hành khái lánh, do đó có thÅ khái lánh s¿ không đ°āc thực hián mát lần nào cÁ
KiÅu 2:
Do
<khái lánh>
Loop While <điÃu kián>
Khái lánh s¿ đ°āc thực hián, sau đó biÅu thāc điÃu kián đ°āc kiÅm tra, nÁu điÃu kián còn đúng thì, khái lánh s¿ đ°āc thực hián tiÁp tăc Do biÅu thāc điÃu kián đ°āc kiÅm tra sau, do đó khái lánh s¿ đ°āc thực hián ít nhÃt mát lần
KiÅu 3:
Do Until <điÃu kián>
Sai
ĐK Đúng
Kh ối lệnh
Trang 28<khái lánh>
Loop
Cũng t°¢ng tự nh° cÃu trúc Do While Loop nh°ng khác biát ç chß là
khái lánh s¿ đ°āc thi hành khi điÃu kián còn sai
KiÅu 4:
Do
<khái lánh>
Loop Until <điÃu kián>
Khái lánh đ°āc thi hành trong khi điÃu kián còn sai và có ít nhÃt là mát lần lặp
Ví dā: Đo¿n lánh d°ãi đây cho phép kiÅm tra mát sá nguyên N có phÁi là sá
nguyên tá hay không?
Trong đó, hàm Math.Sqrt: hàm tính căn bÁc hai cÿa mát sá
3.3.1.2 Câu lệnh While End While
3.3.2 Lặp biết trước số lần lặp với câu lệnh For Next
Đây là cÃu trúc biÁt tr°ãc sá lần lặp, ta dùng biÁn đÁm tăng dần hoặc giÁm dần đÅ xác định sá lần lặp
Trang 29Khi Step không đ°āc chỉ ra, VB.NET s¿ dùng b°ãc nhÁy mặc định là mát
Ví dă: Đo¿n lánh sau đây s¿ tính tổng dãy các sá nguyên từ 1 đÁn N
Dim tong As Integer = 0
- Phần tÿ trong mÁng chỉ có thÅ là biÁn Variant
- Không dùng For Each Next vãi mÁng chāa kiÅu tự định nghĩa vì Variant không chāa kiÅu tự định nghĩa
4 KiÅm tra định kỳ
Trang 30BÀI 4: L¾P TRÌNH C¡ Sä DĀ LIÞU
Giãi thiáu:
Măc tiêu cÿa bài:
- Trình bày đ°āc các thao tác đÅ xây dựng c¢ sç dā liáu;
- Xây dựng đ°āc c¢ sç dā liáu;
- Thực hián truy vÃn dā liáu và kÁt nái đ°āc c¢ sç dā liáu;
- Xây dựng đ°āc hàm kÁt nái và hàm đóng kÁt nái đÁn c¢ sç dā liáu
- Xây dựng và lÁp trình đ°āc form đăng nhÁp há tháng trong Visual Basic.Net;
- Lựa chọn và sÿ dăng thành th¿o đái t°āng t°¢ng tác vãi c¢ sç dā liáu trong từng bài toán āng dăng că thÅ;
- Có tính sáng t¿o, tỉ mỉ, cẩn thÁn khi lÁp trình c¢ sç dā liáu
Nái dung
1 Ôn t ¿p c¢ så dā lißu và các thao tác c¢ bÁn
C¢ sç dā liáu rÃt quan trọng trong viác l°u trā thông tin Dā liáu có rÃt nhiÃu nguồn và đa d¿ng VB.NET đ°āc thiÁt kÁ vãi măc đích truy xuÃt, hiÅn thị, phân tích CSDL Vãi ADO.NET, b¿n có thÅ truy xuÃt đÁn mọi há CSDL theo cùng cách thāc và
mã ch°¢ng trình nh° nhau
2 T ¿o mái c¢ så dā lißu
Đái t°āng Connection dùng đÅ t¿o mát kÁt nái giāa āng dăng vãi c¢ sç dā liáu KÁt nái đÁn c¢ sç dā liáu là thao tao đầu tiên cần phÁi thực hián tr°ãc khi muán truy vÃn hay cÁp nhÁt dā liáu (thêm, sÿa, xóa)
NÁu dùng Data Provider SQL Server thì phÁi khçi t¿o đái t°āng cÿa lãp SqlConnection, khi đó phÁi khai báo namespace System.Data.SqlClient Còn nÁu dùng Data Provider for OLEDB thì phÁi khçi t¿o đái t°āng OleDbConnection, khi đó phÁi khai báo namespace: System.Data.OleDb
3 Truy v Ãn dā lißu
Khi dùng mát lánh SQL SELECT, b¿n lÃy đ°āc mát dā liáu từ database đÅ hiÅn thị ĐÅ làm đ°āc điÃu này vãi SqlCommand, b¿n cần dùng ph°¢ng thāc
ExecuteReader() đÅ trÁ và mát đái t°āng SqlDataReader
Đái t°āng SqlCommand cho phép b¿n truy vÃn và gÿi lánh đÁn mát database
Trang 31Nó có các ph°¢ng thāc sÿ dăng cho các lánh khác nhau Ph°¢ng thāc ExecuteReader() trÁ và mát đái t°āng SqlDataReader đÅ hiÅn thị kÁt quÁ cÿa câu truy vÃn Cho các lánh insert, update và delete, b¿n dùng ph°¢ng thāc ExecuteNonQuery() NÁu b¿n chỉ cần mát giá trị đ¢n từ mát câu truy vÃn, ph°¢ng thāc ExecuteScalar() là lựa chọn tát nhÃt
4 K Át nßi c¢ så dā lißu
Trong phần tiÁp theo chúng ta s¿ sÿ dăng Server Explorer đÅ thiÁt lÁp kÁt nái đÁn CSDL cÿa MS Access có tên Students.mdb Sau khi đã biÁt cách kÁt nái và đ°a dā liáu vào dataset, chúng ta s¿ bÃt đầu xây dựng và tích hāp chúng vào giao dián cÿa form
B¿n t¿o mãi mát Solution có tên MyADOForm và thêm vào mát dự án cùng tên
B¿n chọn View | Server Explorer từ menu đÅ hián cÿa sổ Server Explorer nh° hình:
Hình 5.2
Đây là công că đồ họa cho phép kÁt nái đÁn CSDL căc bá, trên server theo mô hình client - server Ta cũng có thÅ sÿ dăng nó đÅ xem cÃu trúc trong CSDL, xem thuác tính cÿa bÁng, kiÅu dā liáu cÿa tr°ång và mẩu tin trong CSDL Chúng ta có thÅ nÃm kéo các kÁt nái và bÁng dā liáu trong cÿa sổ này đÅ t¿o ra đái t°āng dā liáu cho ch°¢ng trình
TiÁp theo t¿o kÁt nái đÁn CSDL bằng cách click vào nút Connect To DataBase trong cÿa sổ Server Explorer Mát háp tho¿i Choose Data Source hián ra cho phép ta chọn nguồn dā liáu nh° hình:
5 Xây d ựng hàm kÁt nßi đÁn c¢ så dā lißu
Chúng ta hãy làm quen vãi mát sá thuÁt ngā và CSDL tr°ãc khi thực sự thao tác vãi nó
CSDL là mát há tháng dā liáu đ°āc tổ chāc thông tin thành các bÁng gọi là Table
Mßi bÁng l¿i bao gồm nhiÃu hàng và cát Cát th°ång đ°āc gọi là tr°ång (field)
và dòng đ°āc gọi là mẩu tin (record)
Mô hình truy xuÃt CSDL trong ADO.NET có thÅ nói nh° sau: tr°ãc hÁt là thiÁt lÁp kÁt nái đÁn CSDL TiÁp theo đái t°āng điÃu phái (data adapter) đ°āc t¿o ra đÅ truy vÃn dā liáu từ các bÁng Sau đó t¿o các đái t°āng DataSet chāa bÁng dā liáu b¿n muán trích dā liáu
DataSet s¿ t¿o bÁn sao cÿa bÁng dā liáu Cuái cùng là gán thông tin trong DataSet vào các đái t°āng hiÅn thị trên Form nh° TextBox, Label, Button, DataGrid,
Trang 325 Xây dựng hàm đóng kÁt nßi
Hình 53 B¿n chọn Microsoft Access DataBase File và nhÃn vào nút Continue đÅ làm xuÃt hián háp tho¿i Add Connection nh° hình:
Hình 54 B¿n chọn đ°ång d¿n đÁn CSDL bằng cách nhÃp vào nút Browse và chọn CSDL Students.mdb nh° hình B¿n có thÅ kiÅm tra xem kÁt nái có thành công không bằng cách click vào nút Test Connection, b¿n cũng có thÅ tùy chỉnh kÁt nái bằng cách click vào nút Advanced:
Trang 33Hình 55 B¿n có thÅ thÃy dòng mã kÁt nái ç ô cuái cùng nh° hình, dòng mã có nái dung:
<Provider=Microsoft.Jet.OLEDB.4.0;Data Source="D:\Data\Students.mdb"=
NhÃn OK đÅ thêm kÁt nái vào Server Explorer
B¿n có thÅ mç ráng tÃt cÁ các măc bằng cách click vào biÅu t°āng bên c¿nh trái cÿa từng măc đÅ mç ráng nh° hình:
Hình 56
2.7 Xây dựng form đăng nhÁp há tháng
B°ãc hai trong thao tác CSDL nh° ta đã biÁt đó là t¿o bá điÃu phái Data Adapter Data Adapter s¿ định nghĩa chính xác nhāng thông tin mà b¿n muán lÃy trong CSDL,
là nÃn tÁng đÅ t¿o DataSet
Trang 34VB.NET cung cÃp rÃt nhiÃu cách t¿o bá điÃu phái Cách đ¢n giÁn nhÃt là ta kéo các biÅu t°āng bÁng trong Server Explorer vào cÿa sổ form trong chÁ đá thiÁt kÁ Ta cũng có cách thā hai là dùng công că Data Adapter Configuration Winzard Ta gọi đÁn công că này bằng cách chọn đái t°āng OledbDataAdapter trên tab Data cÿa ToolBox
và đặt nó lên form Trong bài tÁp này chúng ta s¿ sÿ dăng cách thā hai này
Chọn tab Data trong cÿa sổ ToolBox Tab này chāa các điÃu khiÅn đÅ thao tác vãi CSDL Trong tab này có hai đái t°āng OleDbConnection và sqlConnection đÃu cho phép t¿o kÁt nái đÁn CSDL Nh°ng chúng ta đã kÁt nái bằng Server Explorer nên không cần hai đái t°āng này nāa
Kéo đái t°āng OleDbDataAdapter 3 3 oieDbDataAdapter vào trong form NÁu đái t°āng này không xuÃt hián, b¿n có thÅ thêm nó vào bằng cách Right-Click vào tab Data chọn Choose Item đÅ làm xuÃt hián cÿa sổ Choose ToolBox Items Chọn tab Net Framework Components và chọn OleDbAdapter nh° hình:
Trang 35Hình 58 Cÿa sổ so¿n thÁo mã SQL NÁu b¿n ch°a biÁt đÁn các câu lánh SQL, có thÅ nhÃn vào nút Query Builder đÅ VS.NET liát kê các bÁng cÿa CSDL đÅ b¿n chọn
B¿n hãy nhÃn vào bÁng Instructors nh° hình d°ãi và nhÃn Add, rồi Ãn Close đÅ đóng cÿa sổ này l¿i
Hình 59 Query Builder
Trang 36B¿n thÃy trong bÁng Instructors có các ô CheckBox t°¢ng āng vãi các tr°ång Query s¿ t¿o câu lánh t°¢ng āng đÅ rút thông tin cÿa bÁng Trong bài tÁp này chúng ta chỉ rút thông tin từ mát cát trong bÁng B¿n nhÃn vào cát Instructor đÅ chọn nó nh°
hình ticp theo và 11 lia 11 ()K Chung ta đã t¿o xong câu lánh SQL đÅ rút dā liáu
Hình 60 Chọn tr°ång đÅ xây dựng câu lánh SQL
Sau khi nhÃn OK, mát cÿa sổ Generate The SQL Statement hián ra hiÅn thị câu lánh SQL ta vừa t¿o B¿n nhÃn Finish đê hoàn thành viác t¿o đái t°āng điÃu phái Lúc này giao dián có d¿ng nh° hình sau:
Hình 61 Giao dián Form
Trang 372.8 DataTable và DataView
2.8.1 DataTable
Trong bài tÁp này, chúng ta mãi chỉ dừng l¿i ç viác ràng buác dā liáu và hiÅn thị đ°āc bÁn ghi đầu tiên vào ô textbox mà thôi Trong phần tiÁp theo chúng ta s¿ t¿o ra các nút cho phép duyát qua các bÁn ghi khác nhau, xem bÁn ghi đầu tiên cũng nh° cuái cùng
ADO.NET cho phép quÁn lý và duyát qua các bÁn ghi (record) bằng đái t°āng CurrentManager Vãi đái t°āng này b¿n có thÅ biÁt đ°āc vị trí hián hành, đi đÁn mẩu tin sau cùng hay trç và mẩu tin đầu tiên cũng nh° đÁn mẩu tin kÁ tiÁp hay ç tr°ãc Mßi DataSet đÃu có sẵn đái t°āng CurrentManager và mßi đái t°āng form đÃu có thuác tính BindingContext theo dõi tÃt cÁ đái t°āng CurrentManager trên form
Bây giå trç l¿i bài tÁp cÿa chúng ta Trong phần tr°ãc chúng ta đã t¿o ra bán nút nhÃn mang tên First, Last, Next, Previous Giå chúng ta s¿ viÁt mã cho chúng sÿ dăng đái t°āng BindingContext, CurrentManager đÅ duyát qua các bÁn ghi
Tr°ãc hÁt t¿o thÿ tăc btnFirst_Click vãi nái dung nh° sau:
Me.BindingContext(DsInstructors1,"Instructors").Position = 0 btnFirst.Enabled = False btnNext.Enabled = True btnLast.Enabled = True
Cú pháp này hiÅn thị bÁn ghi đầu tiên cÿa DsInstructors1 sÿ dăng đái t°āng BindingContext Nó gán giá trị 0 cho thuác tính Position đÅ con trß hián hành cÿa dā liáu chuyÅn đÁn bÁn ghi đầu tiên
T¿o thÿ tăc btnLast_Click và nhÁp đo¿n mã sau:
'ĐÁm tổng sá bÁn ghi
Dim tongsobanghi As Integer = Me.BindingContext (DsInstructors1,
"Instructors").Count 'ChuyÅn con trß đÁn bÁn ghi cuái cùng
Me.BindingContext(DsInstructors1, "Instructors").Position = tongsobanghi - 1
btnLast.Enabled = False btnFirst.Enabled = True btnPrevious.Enabled = True
Trang 38If Me.BindingContext(DsInstructors1,
"Instructors").Position < tongsobanghi - 1 Then
Me.BindingContext(DsInstructors1, "Instructors").Position += 1 btnFirst.Enabled = True btnPrevious.Enabled = True
'NÁu ch°a phÁi là bÁn ghi đầu thì lùi l¿i 1
If Me.BindingContext(DsInstructors1, "Instructors").Position > 0 Then
Me.BindingContext(DsInstructors1, "Instructors").Position -= 1 btnFirst.Enabled = True btnLast.Enabled = True btnNext.Enabled = True
Else
btnFirst.Enabled = False btnPrevious.Enabled = False End If
VÁy là chúng ta đã t¿o xong các nút cho phép duyát qua các bÁn ghi Bây giå chúng ta ch¿y thÿ ch°¢ng trình
Bây giå chung ta nhÃn F5 đÅ ch¿y ch°¢ng trình, nhÃn nút Load Data đÅ hiÅn thị
dā liáu vào textbox nhÃn các phím đÅ duyát qua các bÁn ghi trong c¢ sç dā liáu
Trang 39Hình 67 B¿n nhÃn nút Close ç góc phÁi trên cÿa form đÅ đóng ch°¢ng trình l¿i
ĐÅ că thÅ h¢n nāa chúng ta s¿ t¿o điÃu khiÅn label cho hiÅn thị vị trí bÁn ghi hián hành đÅ ng°åi dùng tián quan sát
2.8.2 DataView
Ngoài viác cung cÃp c¢ chÁ duyát xem các bÁn ghi, ta cũng cần cho ng°åi dùng biÁt đó là bÁn ghi thā mÃy Bây giå chúng ta s¿ thêm mát nhãn Label đÅ hiÅn thị thā tự cÿa bÁn ghi
B¿n mç thiÁt kÁ form và thêm vào mát nhãn label1 có thuác tính Name là lblIndexOfRecord, thuác tính Text cÿa nhãn là <Record 0 of 0= Giao dián nh° hình:
(DsInstructors1, "Instructors").Position + 1
lblIndexOfRecord.Text = "Record " & banghihienhanh.ToString & "Of " & tongsobanghi.ToString
Trang 40End Sub
Thÿ tăc này s¿ gán thuác tính count cÿa đái t°āng BindingContext vào biÁn
tongsobanghi và thuác tính Position cÿa nó cho biÁn banghihienhanh nh°ng cáng
thêm 1 vì thā tự bÁn ghi trong bÁng dā liáu đ°āc tính từ 0 Sau đó hai giá trị cÿa hai biÁn trên đ°āc gán cho thuác tính Text cÿa điÃu khiÅn Label lblIndexOfRecord
ĐÅ thÿ tăc này phát huy tác dăng thì b¿n s¿ thêm låi gọi thÿ tăc này trong các thÿ tăc khác nh° btnFirst_Click, btnLast_Click, btnPrevious_Click, btnNext_Click nh° sau:
Count()
Ch°¢ng trình cÿa chúng ta đÁn đây là hoàn thián B¿n có thÅ ch¿y thÿ đÅ kiÅm tra NhÃn F5 đÅ ch¿y ch°¢ng trình, nhÃn nút Load Data đÅ hiÅn thị dā liáu Sau đó b¿n hãy nhÃn các nút di chuyÅn đÅ duyát qua các bÁn ghi và xem thā tự cÿa bÁn ghi đó trong bÁng dā liáu, kÁt quÁ:
Hình 69
2.11 Đái t°āng Command
Sau khi đã làm quen cách kÁt nái c¢ sç dā liáu SQLServer bằng đái t°āng SqlConnection hay c¢ sç dā liáu Access ta nhÁn thÃy tÁp lánh đã khai báo t°¢ng tự nhau Khi làm viác vãi đái t°āng Command, chúng ta chọn đái t°āng SqlConnection
và c¢ sç dā liáu SqlServer đÅ tìm hiÅu cách sÿ dăng chúng Đái vãi c¢ sç dā liáu