Chuong 1 25 Chương 1 Microsoft .NET LA Gi Tài liệu này được soạn thảo cho các lập trình viên Visual Basie can chi động tăng tốc độ khởi tạo Microsoft NET mdi và nhất là cách tạo các ứ
Trang 1LE MINH TRÍ
Kỹ nũng lập trình ứng dụng với
Visual Basi LÌ
Trang 2Microsoft DOT NET
Kỹ năng lập trình ít đụng núi
VISUAL BASIC NET
Trang 3¬'LÊ MINH TRÍ `
Microsoft DOT NET
Ky nang lap trinh ing dung nứi VISUAL BASIC, NET
Trang 4Microsoft DOT NET
hy 1000 cuốn khổ (14.5x20.5)cm tại Xưởng In Trung Tâm Hội Chợ Triển
Lam Viết Nam Giấy phép XB số 192-104/XB-QLXB do Cục Xuất Bản
cấp ngày 30/01/2002 In xong và nộp lưu chiều thang 9 năm 2002
Trang 5Các ngôn ngữ cho Net
Tại sao di trú sang Net
Các lợi ích của việc sử dụng Net
Đối với người dùng 38
Đối với người phát triển
Đối với nhà quản lý
Cách di trú
Tóm tắt
Câu hỏi ôn tập
Trả lời câu hỏi ôn t:
Trang 6
Chuong 2
VISUAL STUDIO NET
Visual Studio Net
C4e template project
Bắt đầu với VS.NET
Màn hinh My Profile 46 Visual Studio Home Page 47 Tạo một project mới " 48
Môi trường phát triển tích hợp VS.NET (D 49
Cửa sổ Toolbox B1 Cửa số Solution Explorer 53 Cua sé Class View 54 Cửa số Server Explorer
Cửa số Properties
Cua sé Object Browser
Cita sé Task List
Window Forms (WinForms)
Các thay đổi của WinForm
Các control WinForm chuẩn
Các đặc tính thông dụng trên các control
Neo và chốt giữ
Ne
Trang 7
Chốt giữ
Sự thay đổi trong Net
Hién thi WinForm
Kiểu đữ liệu Integer
Các kiểu dữ liệu Decimal
Kiểu dữ liệu Char
Trang 8Các hàm được thay thế bằng các phương thức
Các mục được xóa bỏ/thay đổi
Các cong cu CSDL Cac ung dung Web
Câu hồi ôn tập
Trả lời câu hồi ôn
118
117
117
Trang 9Trả lời câu hỏi ôn tập
Chương 7
MDI VÀ CÁC MENU
.„ 118
Truy tìm các cửa sổ con 132
Thao tac cdc menu vào thời gian chạy
Sử dụng các menu chọn bằng đấu kiếm
140 -.140 -Ö141
TẠO FORM HỘP THOẠI
Tao cdc form hộp thoạt 142 Các bước đê tạo form 143
Tự động đóng hộp thoại 145
“Trả lại kết quả từ form hộp thoại Thi cả 145
Trang 10Tao Sub Main
Ba chế độ của Visual Basic
Thanh công cụ Debug
Gọi ra trình gỡ rối
Các công cụ để gỡ rị
Đreakpoints :
Chi dinh Hit Count
Xác lập thi hành câu lệnh kế tiếp
Các cửa sổ hữu dụng cho việc gỡ
Kiểm tra các biến bằng cách dùng chuộ
Trang 11
11
Tóm tắt „182 Câu hỏi ôn tập 183
Trả lời câu hỏi ôn 183
Trường hợp cơ bản — không xử lý lỗi
Thêm khối Try/Catch đơn giản
Xác định lỗi đã xảy ra
Làm việc với các ngoại lệ riêng biệt
Chuyển thông tin lỗi .301
Chay mã không điểu kiện .203 Khối Finally
“Tạo các lớp ngoại Ì
Lép FileToolArgeException
203
204 205 208 208 Trả lời câu hỏi ôn tập 209
Chương 11
TẠO CÁC LỚP
Trang 12
Câu hỏi ôn tập
Trả lời câu hỏi ôn tập
Các lý do quá tải một phương thức 229
Tạo các phương thức quá tải .329 Quá tải Sub New .228
Tóm tất 237
Câu hỏi ôn tập 238
ce 240 + 241
2 241 + 242
= B42
- 249
- 250 + 253
255
5, 256 + 256
Trang 13
"Thư viện lớp (Class Library) keeeeeerervrescerr 2IỔẢ
Tìm hiểu các thư viện lớp Net 285
Trang 14Các hộp danh sách nhiều lựa chọn
Tiệp danh sách được chọn
Nạp các đối tượng vào hộp danh sách
Tóm tắt
Câu hỏi ôn t
Bài tập
- 290 991 293
298 298 289
„305
305
Liên kết dữ liệu của ADO.NET
Liên kết dữ liệu với DataGrid
Tạo form mẫu
Sử dụng Wizard DataAdapter
Tạo lớp DataSet
Thêm DataGrid vào form
Đưa đữ liệu vào control khung lưới dữ liệu,
Làm việc với các hộp Combo
Thêm Adapter dữ liệu thứ hai vào form
Phat sinh DataSet thi hai
Thém hép Combo vao form
Liên kết hộp Combo với DataAdapter
Đưa dữ liệu vào hộp Combo
Trang 15
15
“Tạo truy vấn tham số hóa econienhtrhhrrdrrnerrrrrdre 325 Xóa mã cu trd control khi form được nạp 325
Thêm mã thi hành khi người dùng lựa
một mục trong hộp Combo àccennhhhhrhrrreerrrsrrnnsrte 327
Liên kết dữ liệu thủ công .329
S& dung lop mdi nay trong ListLoad
Hiển thị thông tin sảa phẩm
Trang 16DATASET VA DATATABLE CUA ADO.NET
Sử dụng DataSet và DataTable của ADO.NET
Lý do thực hiện điều này “+
Nạp Combobox bằng cách dùng đối tượng DataTable
Nạp các phân loại vào hộp Combo
“Tao đối tượng DataSet
Tải hộp danh sách từ DataSet
Tim mét dong riéng biét trong DataSet
Thêm các dong vao DataSet
Chương 21
CÁC THỦ TỤC LUU TRU ADO
Trang 17
Cấu trúc tài liệu XML :
XML dya trén Element so với Attribute
Trang 18
Unmanaged Code và các Wrapper có thể gọi
vào thời gian chạy
Chuyển đổi metadata bang TLBIMP
Sử dụng các thành phần COM trực tiếp
Chọn giữa TLBIMP và Direct Reference
SW dung thanh phan COM của Net
Đăng ký thành phần COM
Su dung TLBIMP để tạo hợp ng
Tao project kiém tra
Them ma dé sit dung thanh phan COM
Trang 19
19 Tóm tắt
4ð9 Câu hỏi ôn tậ 460 Bài tập 460 Trả lời câu h 460 Chương 25 461 ASP.NET
ASP.NET
Mục đích của Web Form
Web Berviee co
Các thành phần của Web Service
Cách Web Form hoạt động
Control Web Form
Control HTML, an
Cae control Web Form
Cac control Field Validator
Các control tùy biến người dùng,
Global.asax uy
Tao Web Form
Các bước xây dựng form đăng nhậ
TAO FORM DANG NHAP WEB
Tạo form đăng nhập Web 484 Tại sao cần thực hiện điều này 485
Sử dụng mẫu lập sẵn 485
488 Các bước xây dựng form đăng nhập
Trang 20Tao lép Employee
Thứ đăng nhập
Tạo các form phản Ì
Control hữu hiệu hóa trường đòi hỏi
Tạo form hữu biệu hóa đòi hỏi
Control hữu hiệu hóa phạm vì
Control tóm lược sự hữu hiệu hóa
Control hitu hiệu hóa so sánh
Control hữu hiệu hóa biểu thức thông thường
Control hữu hiệu háa tùy biến
Liên kết tên các Web Form
DataGrid liên kết đữ liệu
Xây dựng form mẫu
Tạo và cấu hình DataSet
Sử dụng wizard DataAdapter
Tạo lớp DataSet
Thém control Data Grid dé hién ‘thi dữ liệu
Cư trú control Data Grid với dữ liệu
Trang 21
Dữ liệu liên kết Combo box
Tại sao cần thực hiện điều này
Nạp khung lưới với dữ liệu
Một số bàm bổ sung
Các bước
Định đạng các cột trị số
Cho phép lập số trang
Tạo kiểu lập số trang Next và Previous
Tùy biến Pager :
Xác lập văn bản Next và Previous
Xác lập các ảnh của Next và Previous
Thêm siêu liên kết
Các bước
Tạo trang chỉ tiế
Cac bude tao trang Product Detail
Xây dựng thủ tục sự kiện Load
Trang 22Các control lién két danh sach oo
Control Repeater hoạt động như thế nào?
Xác lập đặc tính Datasouree .-:
Hiển thị đữ liệu «.ee hen
Liên kết dữ liệu trong các template
Móc nối dữ liệu s Tre
Các tíũih năng Repeater cao cấp hơn
Tao trang chi tit "
Thém template Alternateltem va tac
ng trở lại sự kiện
Command
Tóm tắt
Câu hồi ôn tập
Trả lời câu hỏi ên tập
Quản lý trạng thái
Các phương thức quản lý trạng thá:
Web Forms quan ly ViewState
Sử dụng đối tượng Session
SessionID Longevity
Sử dụng biến Session riêng
Các vấn đề với đối tượng Session
Trang 2323
Phiên không có Cookie
Quản lý trạng thái của Web Farm
Cae van dé vdi dich vy ASP.NET state
Quan ly trang thai SQL Server tự động
Các vấn để với quần lý trạng thái SQL Server t tự 'động
Mã nguồn của lớp SQLState
Các ưu điểm của lớp SQLState
Ngôn ngữ mô tả Web Service
Kham pha cdc dich vu
Các thí du vé Web Services
Tom tat
Câu hồi ôn tập
Trả lời câu hồi ôn t:
Trang 24
Chuong 33
TAO VA SU DUNG CAC DICH VU WEB
Tạo một dịch vụ Web đơn giản
Kiém tra dich vu Web
Goi dich vu Web
Sử dụng dịch vụ Web từ một ứng dụng WinForm
Xác lập tham chiếu Web
Sử dụng dịch vụ Web từ một ứn,
Dich vu Web Product
Phương thie Units in Stock
Phương thức truy tìm Productinfo
Trang 25
Chuong 1 25
Chương 1
Microsoft NET LA Gi
Tài liệu này được soạn thảo cho các lập trình viên Visual
Basie can chi động tăng tốc độ khởi tạo Microsoft NET mdi và nhất là cách tạo các ứng dụng trong VB.NET
Giáo trình này được soạn thảo cho các lập trình viên đã từng
sử dụng Visual Basic 6.0 hoặc phiên bản trước đây và bây giờ cần
chuyển sang NET Framework mới với VB.NET Bạn sẽ tìm hiểu
các phương pháp mới về tạo các ứng dụng Windows và Web trong
VB.NET Các khái niệm hướng đối tượng sẽ được trình bày có
phương pháp cũng như cách giải quyết nhiều vấn để của thế giới thực Sự nổi bật của giáo trình này là việc thực tập viết mã thuần thục, chẳng hạn như các chuẩn đặt tên được chấp nhận về
mặt công nghiệp, cách thụt dòng và khả năng dùng lại ma Tai
liệu này được biên soạn tập trung vào sự phát triển ứng dụng
doanh nghiệp Nếu bạn là một lập trình viên ứng dụng cần tìm
biểu cách kết hợp ứng dụng Visual Basic.NET ngay, thi đây là
giáo trình đáp ứng cho bạn
Trang 26Để có thể sử dụng sách này một cách hiệu quả, bạn cẩn có
một ít kinh nghiệm về Visual Basic Bạn cũng cần có một máy
tính chạy hệ điều hành Microsoft Windows 2000 hoặc phiên bản sau của nó và tất nhiên bạn cần có bản copy của Microsoft NET CLR va Visual Studio.NET
Microsoft NET
« Tìm hiểu về Microsoft NET Framework
e Tim hiéu vé Common Language Runtime
TONG QUAN VE MICROSOFT NET
Nén Microsoft NET la mét cach phat trién cdc ng dung hoàn toàn mới Mục đích của Microsoft trong việc tạo nên phát triển mới này là để bảo đảm không có vấn đẻ trở ngại nào về ngôn ngữ bạn sử dụng và nó đều có thể phát triển ứng dụng Internet
cũng nhự Windows mở rộng và đáng tin cậy một cách nhanh
chóng và dễ dàng
Cách Microsoft hoàn thành điều này là phát triển một tập các địch vụ để các lập trình viên có thể sử dụng, chẳng hạn như một tập các dịch vụ hệ thống phong phú, engine thời gian chạy,
framework phát triển và các control phong phú sẽ giúp họ thiết
kế cả ứng dụng Windows lẫn Internet
Điểm chủ yếu của nền NET được gọi là CLR (Common
Language Runtime) Engine vào thời gian chạy này chứa tất cả
các kiểu dữ liệu chung và cấu trúc ngôn ngữ lõi mà bất kỳ ngôn ngữ nào cũng cần Cuối cùng CLR sẽ được phân phối với hệ điều
hành Windows, vì vậy nhu cầu thiết lập tích hợp và phức tạp sẽ không còn trong các phiên bản tương lai của Windows CLR là
Trang 27Chương 1 27
framework phat trién hé trợ nhiều ngôn ngữ và cung cấp các dịch
vụ vào thời gian thiết kế cũng như dịch vụ vào thời gian chạy Các dịch vụ vào thời gian thiết kế này bao gồm Integrated
Development Environment (TDE) và một trình gỡ rối tỉnh xảo,
Hình 1 cho bạn một cái nhìn tổng quát về các thành phần khác
nhau của nên NET so với một nền khác
Web cv Web/Win Forms
Message Queuing, COM+ các giao dịch, Internet Information
Server (IIS) va Windows Management Instrumentation (WMI)
Common Language Runtime trong nền NET đặt một trình
Trang 28wrapper chung quanh các địch vụ này, vì vậy tất cả các ngôn ngữ
có thể tương tác với chúng bằng cách đùng một giao diện chung
Ở trên CLR là một Base Framework của các lớp, bao gồm
ADO.NET va ASP.NET ADO.NET có thé được dùng từ cả các
WinForm lan WebForm
Kế đến là một loạt các ngôn ngữ được viết phù hợp với Common Language Specification ma CLR được thiết lập Các
ngôn ngữ này gồm hầu hết các ngôn ngữ thông dụng hiện nay,
nhu Visual Basic, VC++, C# (một ngôn ngữ mới), Perl, Python,
Bifel và nhiều ngôn ngữ khác Khi bạn làm việc với các ngôn
ngi nay, hau nhu ban déu cé thé sit dung Visual Studio.NET dé cung cấp một IDE tét cho việc phát triển sử dụng NET
framework
Đặc tả ngôn ngữ chung
Common Language Specification (CLS) 1a một giao ước cho
biết ngôn ngữ tương tác với CLR sé ứng xử như thế nào Khi các
ngôn ngừ sử dụng CL8§ này, chúng được xem là thực hiện
“managed code” Managed code là một tập các cấu trúc ngôn ngữ
mà tất cả các ngôn ngữ NET đều phải có, bao gồm các kiểu dữ
liệu, xử lý lỗi, metadata, vân vân
Managed code là mã có thể được trình biên dịch tách thành một tập “byteeodes”, được coi như Microsoft Intermediate Language (MSIL hoac IL) IL nay duge lu trữ cùng với một số
metadata về chính chương trình vào một file Portable Executable
(EXE hoặc DLL)
Trang 29Chương 1 29
NGÔN NGỮ TRUNG GIAN
Ngôn ngữ trung gian (IL) được tạo sao cho trình biên dịch có thể
phiên dịch chương trình thành mã cuối cùng có thể được hệ điều
hành (OS) và phần cứng diễn dịch Đây chính là lý do khiến cho
nó dễ dàng tạo một trình biên dịch cho bất kỳ hệ điều hành và
nên phần cứng nào Do đó, về lý thuyết NET có thể làm việc với Unix, Linux hoặc bất kỳ một nền khác
Managed Code
Microsoft Intermediate Language
Amory) ofl (eee
CAC DICH VU TRONG NET
Có nhiều địch vụ mà nền NET cung cấp cho người phát triển Một số dịch vụ đáng kể nhất như sau:
se - Memory management
Trang 30xây dựng bạn phải mất nhiều thời gian về các mục này và cuối
cùng để có một chương trình thực bạn phải mất thời gian gấp đôi Còn khi sử dụng một ngôn ngữ mức cao, bạn phải gỡ bỏ hệ
điều hành để khai thác mạch hoặc nếu có thể sử dụng ngôn ngữ
đó thì bảo mật gặp khó khăn
Với CLR, tất cả các dịch vụ trên đều có thể được dùng từ một ngôn ngữ bất kỳ để làm việc với CLUR Các ngôn ngữ có thể khai
thác các dịch vụ này Vì vậy, bây giờ sự chọn lựa ngôn ngữ của
bạn không còn là vấn để lớn, vì dù sao mọi thứ đều được biên
địch thành cùng Intermediate Language
Hệ thống kiểu chung
Các kiểu dữ liệu trong NET không còn được định nghĩa bằng từng ngôn ngữ, thay vào đó chúng thuộc một phần lõi của CLR
Trang 31Chương 1 31
Mỗi kiểu đữ liệu chính là một đối tượng Môi ngôn ngữ có sự chọn lựa để thực thi tất cả chúng hoặc chỉ một tập con
Các kiểu đữ liệu
Bảng 1 liệt kê các kiểu dữ liệu khác nhau và cho biết các ngôn
ngữ nào thực thi từng kiểu đữ liệu ấy
C# - sbyte
VC++4 - Signed char
Int16 Số nguyên có dau 16 bit Visual Basic — Short
C# - short VC++ - short
Int32 Số nguyên có dau 32 bit [Visual Basic — Integer
C# - Internet C++ - int hoặc long Int64 Số nguyên có dấu 64 bịt JVisual Basic ~ Long
lC# - long IVC++ - _int64
IUnint16 Số nguyên không dau 16ÌVisual Basic - NA
hoặc unsigned long
Unint64 Số nguyên không dấu 64|Visual Basic — NA
bịt, C# - ulong
VC++ - unsigned int64 Single Số đấu chấm động 32 bit [Visual Basic — Single
C# - float VC++ - Moat
Trang 32
Double Số đấu chấm động 64 bit [Visual Basic — Double
(C# - double
VC++ - double Boolean True (1) hoae False (0) Visual Basic ~ Boolean
C# - bool
VŒ++ - bool Object Kiểu cơ sở của một lớp bẩt|Visual Basie — Object
kỳ hoặc kiếu dữ liệu C# - object
VC++ - Object Char Ki ty Unicode (16 bit) Visual Basic — Char
|C# - Char
VC++ - _ wchar_t String Chuỗi các kí tự Unicode Visual Basic — String
C# - string
VC++ - String
Decimal Giá trị thép phan 96 bit |Visual Basic — Decimal
C# - decimal VC++ - Decimal
Trang 33Chương 1 33
* WinForms Custom Controls
+ WebForms Custom Controls
CAC UNG DUNG WINDOWS
Ung dung Windows si dụng một client UI (giao diện người
dùng) phong phú chạy trên hệ điều hành Windows Nó sử dụng
engine WinForms để tạo giao điện người dùng Các ứng dụng
Windows rất thích hợp cho các ứng dung CSDL (co sở dữ liệu) Client/Server, chương trình đề họa và điều khiển số Hoặc một chương trình bất kỹ cần có một giao điện người dùng phong phú
WINF0RMS
Windows Form là engine form mới để phát triển Windows Bạn có thể sử dụng WinForms với một ngôn ngữ CLR bất kỳ
WinForms có thể chuyển từ một ngôn ngừ này sang miệt ngôn
ngữ khác tương đối đễ dàng WinForms đi cùng với một tập các
control chuẩn được lập sẵn và bạn cũng có thể xây dựng các
kỳ Lương tác nào từ người dùng Hệ điều hành sẽ bắt đầu ứng
dung Windows Service khi hệ điều hành khởi động Bạn nên