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.43 MB, 86 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
Sæ LAO ĐàNG, TH¯¡NG BINH VÀ Xà HàI ĐÂK LÂK
<b>TR¯âNG TRUNG CÂP TR¯âNG S¡N </b>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3"><b>LâI GIàI THIÞU </b>
Đâ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 thc v k nng lp 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 2010 trỗ lờn;
- Khai bỏo c lóp ỏi tng, cỏc thành phần cÿa lãp đái t°āng và sÿ dăng đ°āc lãp đái t°āng trên ngôn ngā VB.Net;
- Cài đặt và xây dựng đ°āc ch°¢ng trình theo ph°¢ng pháp h°ãng đái t°āng trên mát ngơn ngā lÁp trình VB.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 q 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 hồ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 hồn chỉnh ngh Cụng nghỏ thụng tin (ng dng phn mm) ỗ 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 cng cú th c s dng o to ỗ 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.
<b>Xin chân thành cÁm ¢n!. </b>
ĐÃ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
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><small>iv </small>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. Thc 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 Ơn tÁp c¢ sỗ d liỏu v cỏc thao tỏc c bn ... 30
2 To mói c sỗ d liỏu ... 30
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">1.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 thc 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
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><small>vi </small>
<b>GIÁO TRÌNH MƠ ĐUN Tên mơ đun: L¾P TRÌNH WINDOWS 1 Mã mơ đun: MĐ17 </b>
<b>Vị trí, tính chÃt, ý nghĩa và vai trị cÿa mơ đun: </b>
- 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 hc, mụ un k thut c sỗ v mụun Hỏ qun 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à thit lp c sỗ phn mm, thit k, qun lý dự án...
- Ý nghĩa và vai trị cÿa mơ đun:
<b>Māc tiêu cÿa mô đun: </b>
- 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;
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="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.
<b>Nßi dung cÿa mơ đun: </b>
<b>Sß </b>
<b>TT Tên các bài trong mơ đun </b>
<b>Thãi gian Tổng </b>
<b>sß </b>
<b>Lý thuyÁt </b>
<b>Thực hành </b>
<b>KiÅm tra*</b>
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. Bi 4: Lp trỡnh c sỗ d liỏu 23 6 17
5. Bài 5: Main sub form trong VB.Net 3 1 2
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8"><b>BÀI 1. GIàI THIịU MICROSOFT VISUAL STUDIO .NET Giỏi thiòu </b>
<b>Mc tiờu </b>
- 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.
<b>Nßi dung </b>
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 đã lm nh hỗng n cụng viỏc ca nhng 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 thnh hnh.
lm gim kh nng nh hỗng ca 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 dut, cịn nÁu là các đo¿n script thì s¿ đ°āc chun thành các dịng HTML rồi gÿi đi. Khi nhà lÁp trình mn đó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 tht tố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.
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="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 tồ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 ngồi các ch°¢ng trình Windows trun 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. Mn 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 tồ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 hiu ỗ 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.
Ngồ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Á nng lp trỡnh trờn Win v Web...
khỗi đáng Visual C# 2010 và giao dián: Vào Start/Programs/Microsoft
<i>Visual Studio 2010/Microsoft Visual Studio 2010, xuÃt hián cÿa sổ Start Page. </i>
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">Hình 1. Cÿa sổ Start Page
+ New Project: T¿o đồ án mãi.
+ Open Project: Mỗ cỏc ỏn cú sn.
+ 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
<i>Ctrl+Shift+N s¿ xt hián cÿa sơ New Project. </i>
Hình 2. Cÿa sổ New Project
<i>+ Chọn ngôn ngā Visual Basic và āng dăng Windows. + Đặt tên cho đồ án t¿i măc Name. </i>
<i>+ Chọn đ°ång d¿n l°u đồ án t¿i măc Location. </i>
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><i>+ Chọn OK đÅ t¿o mát đồ án mãi. </i>
* L°u ý:
<i>+ Măc Create directory for solution cho phép t¿o mát th° măc t¿i Location </i>
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).
<b>T¿o āng dāng đầu tiên </b>
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Á.
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">Hình 14. Giao dián form cáng hai sá
<b>B°ác 1: Đặt tên cho các điÃu khiÅn </b>
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>B°ác 2: ViÁt lánh </b>
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
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">chuá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 bin chỳng ta s xem xột k ỗ bi 2 cÿa giáo trình này):
Dim tong As Integer = Convert.ToInt32(txtSo1.Text) + Convert.ToInt32(txtSo2.Text)
<b>+ Ví dă namespace SQLClient đ°āc định ngĩa trong System.Data </b>
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
<b>háp tho¿i Project Properties. Assemply có Namespace gác là MyAssembly. </b>
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">'Tên đầy đÿ là MyAssembly.Top.InsideTop Public Class Inside
'Tên đầy đÿ là MyAssembly.Top.InsideTop.Inside End Class
End Namespace End Namespace
ĐÅ gọi code trong cùng Assembly, chúng ta có thÅ bß qua tên Namespace. Ví dă:
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 thc 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.
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">Hình 15. Cÿa sổ Project Properties
<b>Menu Bar</b>: Thanh Menu chāa đầy đÿ các công că cần đÅ phát triÅn, thực thi v ci t
ng dng...
<i>+ File: cho phộp mỗ, thêm mãi và l°u trā đồ án. </i>
<i>+ 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 q trình xây </i>
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...
<i>+ Project: cho phép bổ sung các đái t°āng khác nhau vào đồ án nh°: các form, </i>
các component, các modul, các lãp.
<i>+ Built: cho phép biên dịch đồ án. </i>
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16"><i>+ Debug: cho phép ch¿y và gÿ rái ch°¢ng trình. </i>
<i>+ Data: cho phép thêm mãi v hin th c sỗ d liỏu ca ỏn. </i>
<i>+ 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° </i>
Pocket PC, Smartphone. hoặc kÁt nái tãi các há quÁn trị c¢ sỗ d liỏu cng nh kt nỏi tói mỏy ch server.
<b>Toolbar</b>: 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 cht.
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
<i>ĐÅ gọi các thanh công că ta vào View/Toolbars khi đó s¿ xuÃt hián danh sách </i>
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ă đó.
<b>Toolbox</b>: 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:
<i>+ Vào View/Toolbox </i>
<i>+ BÃm tổ hāp phím Ctrl + W+X </i>
+ Kích cht t¿i biÅu t°āng Toolbox
Hình 6. Háp công că Toolbox
<i>Mặc định háp công că đ°āc chia thành 11 tab khác nhau nh°: All Windows Forms, Common Controls... </i>
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">Hì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ị
<i>trí bÃt kỳ trên tab Data, chọn Choose Items... </i>
Hình 8. Các chāc năng làm viác vãi từng điÃu khiÅn trong tab
<i>KÁt quÁ s¿ xuÃt hián cÿa sổ Choose Toolbox Items, kích chọn các điÃu khiÅn </i>
mong muán rồi bÃm OK đÅ kÁt thúc.
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">Hình 9. Cÿa sổ Choose Toolbox Items
<b>Form Designer</b>: 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
<b>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Á </b>
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...
hin th ca s Solution Explorer ta thực hián mát trong các cách sau:
<i>Vào View/Solution Explorer BÃm tổ hāp phím Ctrl + W+S </i>
Hình 11. Cÿa sổ Solution Explorer
<i>Trong cÿa sổ Solution Explorer có hai thành phần hay dùng là View Code và View Designer. </i>
<b>View Code</b>: 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:
<i>+ Vào View/Code. + BÃm phím tÃt F7. </i>
+ 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:
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">Hình 12. Cÿa sổ so¿n thÁo
<b>View Designer</b>: 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:
<i>+ Vào View/Designer + BÃm phím tÃt Shift+F7. </i>
<b>Properties Window</b>: cÿa sổ này liát kê tÃt cÁ các thuác tính, sự kián cÿa các điÃu khiÅn trong form.
Muán hiÅn thị thuác tính cÿa đái t°āng nào ta kích cht chọn đái t°āng đó trong cÿa sổ thiÁt kÁ giao dián, hoặc chọn tên đái t°āng trong danh sỏch th xuỏng ỗ phn u ca ca sổ Properties
Hình 13. Cÿa sổ Properties
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">Mßi thc 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:
<i>+ Vào View\Properties Window. </i>
+ Kích chọn biÅu t°āng Properties Window trên thanh cơng că Standard.
<i>+ BÃm phím tÃt Ctrl + W+P </i>
Microsoft Intermediate Language (MSIL) hay Common Intermediate Language (CIL) là mát ngôn ngā trung gian đ°āc t¿o ra sau q 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 mm c ci t hoc khi chy (run-time) bỗi trỡnh biên dịch JIT (Just-In-Time)
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21"><b>BÀI 2. CC ịI TỵNG IU KHIN CONTROL TRONG VISUAL BASIC.NET </b>
<b>Giỏi thißu </b>
<b>Māc tiêu cÿa bài </b>
- 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á thc 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.
<b>Nßi dung </b>
<b>1. Màn hình giao tiÁp form </b>
<b>2. T¿o mái form, thao tác c¢ bÁn trên form 3. Thuòc tớnh c bn ca form </b>
<b>4. Cỏc òi t°ÿng điÃu khiÅn </b>
<b>5. Thc tính chung cÿa đßi t°ÿng 6. Mòt sò phÂng thc ca òi tng. </b>
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22"><b>BÀI 3: CÁC L</b><i><b>ÞNH CÂU TRÚC TRONG VISUAL BASIC.NET </b></i>
<b>Giái thißu Māc tiêu </b>
- 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.
2,147,483,647
Dim I as Integer S = 4000
Long 64-bit
-9,233,372,036,854,775,808 đÁn
9,233,372,036,854,775,807
Dim L as Long L = 3988890343
Single 32-bit (dÃu phÁy đáng)
-3.402823E38 đÁn 3.402823E38
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 +/-
Dim Dc as Decimal Dc=7234734.5
B=12
Ch==L=
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">String NhiÃu ký tự Chāa 0 đÁn 2 tỷ ký tự <sub>St==Đāc LÁp= </sub><sup>Dim St As String </sup>
Boolean 16-bit Hai giá trị True hay False <sup>Dim Bl As Boolean </sup>Bl = True
Date 64-bit Từ 1/1/1 đÁn 31/12/9999 <sup>Dim Da As Date </sup>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 ca chÂng trỡnh c trong sỏng, dò hiu, dß bÁo trì và phát triÅn.
<i><b>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 </b></i>
<i>trong q trình tính tốn, so sánh và các cơng việc khác. </i>
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.
<i><b>1.1.3 Khai báo biến </b></i>
Cú pháp đ¢n giÁn cÿa lánh định nghĩa biÁn:
<i><b>[Static\Public\Private\Dim] <tên biến> As <kiểu dữ liệu>l= <Biểu thức>] </b></i>
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 kiu d liỏu ó tỡm hiu ỗ trờn.
Nu khai báo biÁn khơng xác định kiÅu dā liáu thì biÁn đó có kiÅu Variant.
<b>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 </b>
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 q 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 bin cú th t ỗ bt k õu nhng thồng c t ỗ u mòi th tc, nÂi cần dùng biÁn.
<b>BiÁn cāc bß: là biÁn đ°āc khai báo trong mát khái lánh (Dim) </b>
Ví dă: Tìm giá trị nghịch đÁo cÿa x If x <> 0 Then
Dim rec As Integer rec = 1/x
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">Dim LastName As String
<i>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 </i>
khi đã khai báo biÁn thì b¿n có thÅ gán hay l°u thơng tin vào biÁn. Ví dă:
LastName = <Đình Nam=
Và có thÅ gán nái dung biÁn cho thuác tính cÿa đái t°āng, ví dă:
Labell.Text = LastName
<b>Khåi t¿o giá trị cho biÁn </b>
Ví dă sau õy va khai bỏo va khỗi to giỏ tr cho các biÁn: Dim x As Integer = 5
Dim y As Integer = 6, z As Integer = 9
<b>2. Hằng sß: </b>
Hằng là mát biÁn nh°ng giá trị không thay đổi theo thåi gian. Khi cần thao tác trên mát giá trị xác định ta dùng hằng. Khai báo hằng t°¢ng tự khai báo biÁn và có thêm t khúa const ỗ tróc. Hng mỏt khi khỗi ỏng xong không thÅ thay đổi đ°āc nāa.
const int HANG_SO = 100;
<b>3. CÃu trúc lßnh </b>
Các cÃu trúc lánh là thành phần c bn ca 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ừ khố bÃt đầu và mát từ khóa báo
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">hiá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;
<b>3.1 CÃu trúc chọn lựa </b>
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
<b>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 tố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) đó. </b>
<b>Select Case </b><biÅu thāc kiÅm tra>
<b>Case <Danh sách kÁt quÁ biÅu thāc 1> </b>
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
<b>hāp có nhiÃu giá trị thỡ mòi giỏ tr cỏch nhau bỗi du phy (,). NÁu có nhiÃu Case cùng </b>
thßa điÃu kián thì khái lánh cÿa Case đầu tiên s¿ đ°āc thực hián.
<b>Ví d ca lỏnh r nhỏnh If.. .Then ỗ trờn cú thÅ viÁt nh° sau: </b>
TheColorYouLike Select Case
MsgBox("B¿n là ng°åi hay u sầu=) Case Else
MsgBox("B¿n là End Select
<b>3.2 CÃu trúc điÃu khiÅn: Câu lßnh r¿ nhánh If </b>
o Mát dòng lánh:
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26"><b>If <điÃu kián> Then <dịng lệnh> </b>
Trong đó, <điÃu kián>: biÅu thāc mà kÁt quÁ trÁ và kiÅu Boolean.
<i>Ý 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 </i>
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.
<b>D¿ng đầy đÿ: If ... Then ... Else If <điÃu kián 1> Then </b>
<small>Các câu lệnh </small>
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">nhiÃu hi vọng") ElseIf (TheColorYouLike = Color.Blue) Then MsgBox("B¿n là ng°åi dũng cÁm")
ElseIf (TheColorYouLike = Color.Magenta) Then MsgBox("B¿n là ng°åi hay u sầu")
Else
MsgBox("B¿n là ng°åi bình th°ång") End If
<i>Kiểu 1: </i>
<b>Do While </b><điÃu kián> <khái lánh>
<b>Loop </b>
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:
<b>Do </b>
<khái lánh>
<b>Loop While </b><đ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:
<b>Do Until </b><điÃu kián> <small>SaiĐK </small>
<small>Đúng Khối lệnh </small>
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28"><b>Loop Until </b><đ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.
<b>Ví dā: Đo¿n lánh d°ãi đây cho phép kiÅm tra mát sá ngun N có phÁi là sá </b>
ngun tá hay khơng? Dim i As Integer = 2
Do While i < Math.Sqrt(N) And (N Mod i = 0) i = i + 1
Trong đó, hàm Math.Sqrt: hàm tính căn bÁc hai cÿa mát sá.
<i><b>3.3.1.2 Câu lệnh While... End While </b></i>
<i><b>3.3.2 Lặp biết trước số lần lặp với câu lệnh For...Next </b></i>
Đâ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.
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">Khi 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
Dim i As Integer For i = 1 To N tong = tong + i Next
<b>For Each ... Next: </b>T°¢ng tự vịng lặp For ... Next, nh°ng nó lặp khái lánh theo sá phần tÿ cÿa mát tÁp các đái t°āng hay mát mÁng thay vì theo sá lần lặp xác định. Vòng lặp này tián lāi khi ta khơng biÁt chính xác bao nhiêu phần tÿ trong tÁp hāp.
- 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ỳ.
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30"><b>BI 4: LắP TRèNH CĂ Sọ D LIịU </b>
Giói thiỏu:
Măc tiêu cÿa bài:
- Trình bày đ°āc các thao tỏc xõy dng c sỗ d liỏu; - Xõy dng c c sỗ d liỏu;
- Thc hiỏn truy vn d liỏu v kt nỏi c c sỗ d liáu;
- Xây dựng đ°āc hàm kÁt nái và hàm úng kt 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 thnh tho ỏi tng 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
<b>1 ễn tp c sồ d liòu v cỏc thao tỏc c bn </b>
C sỗ d liỏu rt 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 xt đÁn mọi há CSDL theo cùng cách thāc và mã ch°¢ng trình nh° nhau.
<b>2 T¿o mái c¢ så dā lißu </b>
Đái t°āng Connection dùng đÅ t¿o mát kÁt nái gia ng dng vói c sỗ d liỏu. Kt 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ì phi khỗi to ỏi tng 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ì phi khỗi to ỏi tng OleDbConnection, khi ú phi khai báo namespace: System.Data.OleDb.
<b>3 Truy vÃn dā lißu </b>
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.
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">Nó 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.
<b>4 Kt nòi c sồ d liòu </b>
Trong phn tip 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:
<b>5 Xây dựng hàm kÁt nßi đÁn c sồ d liòu </b>
Chỳng ta hóy lm 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 xt 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,...
</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">Hì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 vo Server Explorer.
Bn cú th mỗ rỏng tt c các măc bằng cách click vào biÅu t°āng bên c¿nh trỏi ca tng mc 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.
</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">VB.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 <small>3</small> 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:
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">Hì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
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">B¿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°
<i>hình ticp theo và 11 lia 11 ()K. Chung ta đã t¿o xong câu lánh SQL đÅ rút dā liáu. </i>
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
</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">2.8 DataTable và DataView 2.8.1 DataTable
Trong bi tp ny, chỳng ta mói ch dng li ỗ 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 mu tin u tiờn cng nh n mu tin k tip hay ỗ tróc. Mòi DataSet đÃu có sẵn đái t°āng CurrentManager và mßi đái t°āng form đÃu có thc tính BindingContext theo dõi tÃt c ỏi tng CurrentManager trờn form.
Bõy giồ trỗ li 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 thc 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 btnNext.Enabled = False
T¿o thÿ tăc btnNext_Click và nhÁp vào đo¿n mã sau: 'ĐÁm sá bÁn ghi hián hành
Dim tongsobanghi As Integer = Me.BindingContext (DsInstructors1,
"Instructors").Count
'NÁu ch°a phÁi là bÁn ghi cuái thì next lên 1
</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">If Me.BindingContext(DsInstructors1,
"Instructors").Position < tongsobanghi - 1 Then
Me.BindingContext(DsInstructors1, "Instructors").Position += 1 btnFirst.Enabled = True btnPrevious.Enabled = True
btnLast.Enabled = True Else
btnNext.Enabled = False btnLast.Enabled = False
btnFirst.Enabled = True btnPrevious.Enabled = True End If Thÿ tăc btnPrevious_Click:
'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 bn ghi trong c sỗ d liỏu.
</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">Hỡnh 67
Bn nhn 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ỗ thit k form v thêm vào mát nhãn label1 có thc 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
</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">End Sub
Thÿ tăc này s¿ gán thuác tính count cÿa đái t°āng BindingContext vào biÁn
<i>tongsobanghi và thuác tính Position cÿa nó cho biÁn banghihienhanh nh°ng cáng </i>
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à hồ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 q:
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 bng ỏi tng 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 chn ỏi tng 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
</div>