Bài 1 - Làm quen với C# - Lập trình winformMasterCode.vn
Giới thiệu về .NET và Visual Studio
Giới thiệu về các kiến thức lập trình cơ bản trên ngôn ngữ C#
Kiểu dữ liệu
Toán tử
Thao tác với chuỗi
Cấu trúc điều khiển
Phương thức
Xử lý ngoại lệ
Mục tiêu bài học
Giới thiệu về .NET và Visual Studio
Giới thiệu về các kiến thức lập trình cơ bản trên ngôn ngữ C#
Kiểu dữ liệu
Toán tử
Thao tác với chuỗi
Cấu trúc điều khiển
Phương thức
Xử lý ngoại lệ
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Tú Cao
Slide báo cáo đồ án tốt nghiệp, Website cửa hàng điện thoại trực tuyến MSmobile. Nó chỉ mang tính chất tham khảo, hy vọng là các bạn khi xem có thêm gợi ý, nhưng đừng lấy nó ra để nộp.
Bài 1 - Làm quen với C# - Lập trình winformMasterCode.vn
Giới thiệu về .NET và Visual Studio
Giới thiệu về các kiến thức lập trình cơ bản trên ngôn ngữ C#
Kiểu dữ liệu
Toán tử
Thao tác với chuỗi
Cấu trúc điều khiển
Phương thức
Xử lý ngoại lệ
Mục tiêu bài học
Giới thiệu về .NET và Visual Studio
Giới thiệu về các kiến thức lập trình cơ bản trên ngôn ngữ C#
Kiểu dữ liệu
Toán tử
Thao tác với chuỗi
Cấu trúc điều khiển
Phương thức
Xử lý ngoại lệ
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Tú Cao
Slide báo cáo đồ án tốt nghiệp, Website cửa hàng điện thoại trực tuyến MSmobile. Nó chỉ mang tính chất tham khảo, hy vọng là các bạn khi xem có thêm gợi ý, nhưng đừng lấy nó ra để nộp.
Báo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin Tức đã chia sẻ đến cho các bạn một bài báo cáo hoàn toàn hữu ích đáng để xem và tham khảo. Nếu như các bạn muốn tải bài mẫu này vui lòng nhắn tin nhanh qua zalo/telegram : 0932.091.562 để được hỗ trợ tải nhé.
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp với đê tài: Quản lý nhân sự-lương trên hệ quản trị cơ sở dữ liệu MICROSOFT ACCESS, cho các bạn làm luận văn tham khảo
20582
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Xây dựng phần mềm quản lý quán cà phê, cho các bạn có thể tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download báo cáo môn Phân tích thiết kế hướng đối tượng với đề tài: Quản lí Tour du lịch, cho các bạn làm đề tài tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download đề tài: Quản lý hệ thống bán vé máy bay của hãng hàng không Vietnam Airline sử dụng mô hình CSDL phân tán SQL server, cho các bạn tham khảo
Báo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin Tức đã chia sẻ đến cho các bạn một bài báo cáo hoàn toàn hữu ích đáng để xem và tham khảo. Nếu như các bạn muốn tải bài mẫu này vui lòng nhắn tin nhanh qua zalo/telegram : 0932.091.562 để được hỗ trợ tải nhé.
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp với đê tài: Quản lý nhân sự-lương trên hệ quản trị cơ sở dữ liệu MICROSOFT ACCESS, cho các bạn làm luận văn tham khảo
20582
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Xây dựng phần mềm quản lý quán cà phê, cho các bạn có thể tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download báo cáo môn Phân tích thiết kế hướng đối tượng với đề tài: Quản lí Tour du lịch, cho các bạn làm đề tài tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download đề tài: Quản lý hệ thống bán vé máy bay của hãng hàng không Vietnam Airline sử dụng mô hình CSDL phân tán SQL server, cho các bạn tham khảo
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...MasterCode.vn
Các nhóm điều khiển trên form
Các điều khiển thường dùng
Các điều khiển chứa
Các điều khiển menu
Các điều khiển dữ liệu
Các thành phần
Các điều khiển hỗ trợ in
Các điều khiển hộp thoại
Sự kiện và xử lý sự kiện trong C#
Các nhóm điều khiển trên form
Các điều khiển thường dùng
Các điều khiển chứa
Các điều khiển menu
Các điều khiển dữ liệu
Các thành phần
Các điều khiển hỗ trợ in
Các điều khiển hộp thoại
Sự kiện và xử lý sự kiện trong C#
Bài 2: Lập trình hướng đối tượng & Collection - Lập trình winform - Giáo trìn...MasterCode.vn
Xây dựng lớp, cấu trúc
Tạo và sử dụng đối tượng
Xây dựng lớp kế thừa
Khái niệm đa hình và sử dụng đa hình
Sử dụng các lớp và đối tượng dựng sẵn
Collection
Tự sinh mã khai báo
Mục tiêu bài học
Xây dựng lớp, cấu trúc
Tạo và sử dụng đối tượng
Xây dựng lớp kế thừa
Khái niệm đa hình và sử dụng đa hình
Sử dụng các lớp và đối tượng dựng sẵn
Collection
Tự sinh mã khai báo
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...Long Kingnam
Download Source Code + Báo cáo (cập nhật 8/2019)
https://drive.google.com/file/d/1XuLSz_HacHOcV7KoAUUiTp5aWZRG6eS8/view
C# Báo cáo môn lập trình hướng đối tượng
Xây dựng chương trinh quản lí sinh viên
Giáo viên hướng dẫn cô Trần Thị Lan
Bài 8 - Collection Generics - Nền tảng lập trình ứng dụng với C#MasterCode.vn
Collections
Thao tác vớicác đối tượng danhsách tuần tự
Dictionaries
Các collection chuyên biệt hóa (Specialized Collections)
Generic
Generic Collections
Bài 10 - Threading - Nền tảng lập trình ứng dụng với C#MasterCode.vn
Threading là một khái niệm quan trọng trong phát
triển phần mềm, hỗ trợ thực hiện nhiều tác vụ tại cùng một thời điểm.
Hầu hết các tác vụ đều có thời gian chết (downtime),
với threading, ta có thể cho bộ xử lý tiếp tục thực với threading, ta có thể cho bộ xử lý tiếp tục thực
hiện công việc trong suốt thời gian đó.
• Lớp Thread được dùng để tạo và thực thi các tiến
trình.
Bài 6: Các cấu trúc dữ liệu đặc biệt: ngăn xếp, hàng đợi, cây - Giáo trình FPTMasterCode.vn
Tìm hiểu 3 cấu trúc dữ liệu đặc biệt: Ngăn xếp (Stack),
Hàng đợi (Queue) và Cây (Tree):
Khái niệm
Cách cài đặt trong VB.Net
Các thao tác cơ bản trên các cấu trúc dữ liệu
Tìm hiểu câu lệnh SELECT trên nhiều bảng
Tìm hiểu 3 nhóm lệnh SQL:
Nhóm định nghĩa dữ liệu (DDL): Gồm các lệnh tạo, thay đổi các
bảng dữ liệu(Create, Drop, Alter, …)
Nhóm thao tác dữ liệu (DML): Gồm các lệnh làm thay đổi dữ liệu
(Insert, Delete, Update,…) lưu trong các bảng
Nhóm điều khiển dữ liệu (DCL): Gồm các lệnh quản lý quyền truy
nhập vào dữ liệu và các bảng (Grant, Revoke, …
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPTMasterCode.vn
Tìm hiểu khái niệm cấu trúc dữ liệu
Dữ liệu, Cấu trúc dữ liệu
Các kiểu cấu trúc dữ liệu
Tìm hiểu khái niệm giải thuật (thuật toán, thuật giải)
Khái niệm về giải thuật
Biểu diễn giải thuật
Độ phức tạp của giải thuật
Mối liên hệ giữa cấu trúc dữ liệu và giải thuật
Lập trình sáng tạo creative computing textbook mastercode.vnMasterCode.vn
Lập trình sáng tạo bao gồm việc sáng tạo. Khoa học máy tính và các ngành liên quan tới tính toán đã từ lâu đƣợc giới thiệu tới những ngƣời trẻ tuổi một cách rời rạc – quá nhấn mạnh kĩ thuật so với khả năng sáng tạo. Lập trình sáng tạo giúp cho sự phát triển của cá nhân đối với tính toán trở nên tốt hơn, bằng cách hỗ trợ vẽ vời dựa trên sáng tạo, tƣởng tƣợng, và sở thích.
Bộ điều khiển PLC SIMATIC S7-1200 của Siemens là một sự lựa chọn thông minh cho các giải pháp tự động hóa nhỏ gọn với các tùy chọn mở rộng truyền thông và các chức năng tương thích khác.
1. CHU N VI T CODE VÀ THI T Ẩ Ế Ế KẾ GIAO DIỆN TRONG C#
(Bản tóm tắt)
I. QUY ĐỊNH ĐẶT TÊN
- Pascal BackColor
- Camel backColor
- Uppercase BACKCOLOR
I.1. Tên biến
- Kiểu Camel
I.2. Tên hằng số
- Sử dụng Uppercase
- Gạch nối giữa các từ
I.3. Tên kiểu Enum
- Tên kiểu Pascal
- Không tiền, hậu tố
I.4. Tham số
- Tên kiểm Camel
I.5. Tên thuộc tính
- Tên kiểu Pascal
I.6. Tên phương thức
- Tên kiểu Pascal
I.7. Sự kiện
- Kiểu Pascal
- Thường có hậu tố: EventHandler
I.8. Tên lớp
- Tên kiểu Pascal
- Không sử dụng gạch chân
2. I.9. Giao diện
- Tên kiểu Pascal
- Bắt đầu bằng tiền tố “I”
I.10. Không gian tên
- Cú pháp: [Tên công ty].[Tên Công nghệ][.Đặc trưng][.Thiết kế]
Ví dụ: SDGVN.Web.Utility
SDGVN.Web.ModuleBase
I.11. Tên tiền tố của các điều khiển
Control type Prefix Example
Panel pnl pnlGroup
Check box chk chkReadOnly
Combo box, drop-down list box cbo cboEnglish
Command button btn btnExit
Common dialog dlg dlgFileOpen
Control (used within procedures
ctr ctrCurrent
when the specific type is unknown)
Data dat datBiblio
Data-bound combo box cbo cboLanguage
Data-bound grid grd grdQueryResult
Data-bound list box lst lstJobType
Repeater rpt drpLocation
Date Time Picker dtp dtpPublished
Form frm frmEntry
Frame fra fraLanguage
DataGridView dgv dgvPrices
GridView grd grdProduct
DataList dtl dtlOrders
3. Control type Prefix Example
Horizontal scroll bar hsb hsbVolume
Image img imgIcon
ImageList ils ilsAllIcons
ImageButton ibt ibtNext
HyperLink hpl hplHome
LinkButton lbt lbtClick
Label lbl lblHelpMessage
List box lst lstPolicyCodes
ListView lvw lvwHeadings
Menu mnu mnuFileOpen
Option button opt optGender
Picture box pic picVGA
Picture clip clp clpToolbar
ProgressBar prg prgLoadFile
RichTextBox rtf rtfReport
Slider sld sldScale
Spin spn spnPages
StatusBar sta staDateTime
Text Box txt txtLastName
Timer tmr tmrAlarm
Toolbar tlb tlbActions
TreeView tre treOrganization
UpDown upd updDirection
Vertical scroll bar vsb vsbRate
SqlDataSource sql sqlAccounts
LinqDataSource linq linqCategories
4. II. THIẾT KẾ GIAO DIỆN
II.1. Thiết kế form
Thiết lập Option Layout Settings của Form như sau:
Quy định kích thước Form
Luôn cố gắng đảm bảo tỷ lệ 4x3: Form rộng 4 thì cao 3 để đảm bảo cân xứng
với màn hình.
Quy định kích thước Control
o Chiều cao: sử dụng chiều cao mặc định sẵn của Control.
Trường hợp đặc biệt:
TextBox multi-lines: đảm bảo không bị che 1 phần của dòng
Button có image: đảm bảo hiển thị vừa đủ image 16x16 pixel
o Độ rộng: tùy độ rộng của text
Đảm bảo nguyên tắc các TexBox, Combo trên cùng một Form có độ
rộng thống nhất.
Đảm bảo nguyên tắc các Button trên tất cả các Form có độ rộng thống
nhất, text trên Button không nên vượt quá 2 từ.
Nếu text trên Button gồm 2 từ trở xuống: bắt buộc sử dụng độ rộng
mặc định (75).
o Đối với những trường có độ rộng cố định hoặc ít khi thay đổi (ví dụ như
trường có kiểu dữ liệu là Date thì độ rộng là cố định là 10 ký tự), tuân thủ
theo quy định sau:
5. Đ r ng control đ c binding v i tr ng này ộ ộ ượ ớ ườ chỉ được phép rộng đủ
để hiện thị hết thông tin trong đó.
Không được để độ rộng control vượt quá độ rộng của trường.
o Lưu ý: Label đặt AutoSize=FALSE, TextBox đặt AutoSize=TRUE
Quy định khoảng cách giữa các Control
o Các Control cách mép Form 01 ô grid (cả 4 phía).
o TextBox, ComboBox cách Label dài nhất 01 ô grid
o Các Control cách nhau 01 ô grid cả chiều dọc và ngang.
6. Riêng tr ng ườ hợp sử dụng GroupBox có caption thì các Control bên trong
GroupBox cách mép trên của GroupBox 02 ô grid. GroupBox không có caption
khoảng cách vẫn là 1 ô grid.
7. Diện mạo Control
o Font & Color: sử dụng thiết lập mặc định. Chỉ thay đổi khi yêu cầu thiết kế
chỉ rõ.
o Hot track: thiết lập Hot track cho Button, Combo và DropDown.
o Căn lề Text trên Control:
Chiều ngang (HAlign):
· Chữ căn trái
· Số căn phải
· Riêng với Button thì luôn căn giữa.
Chiều dọc (VAlign): căn giữa (Middle)
Dóng Control
o Label: dóng trái
o Textbox, Combo: dóng đều hai bên
Tab Order:
o Phải thiết lập Tab Order trên mọi giao diện (Form, Control, …) theo nguyên
tắc: từ trái sang phải, từ trên xuống dưới.
o Yêu cầu bắt buộc thiết lập TabOrder theo đúng thứ tự cho mọi Control trên
Form, kể cả Control không focus vào được như Label, GroupBox, hay Control
invisible. Lưu ý tuân thủ tuyệt đối quy định này vì nó phục vụ nhiều mục đích
quan trọng như tạo shortcut key, valid required data, …
Anchor & Dock: phải thiết lập Anchor và Dock cho Control trên các Form, Container
không cố định kích thước (Sizable).
Với thông tin yêu cầu người dùng không dược bỏ trống mà bắt buộc nhập
(AllowNull = FALSE) thì Label cho thông tin đó phải sử dụng ký hiệu “(*)” ở cuối
và thiết lập shortcut key.
II.2. Quy định khi tạo MessageBox
- Caption: sử dụng Application.ProductName
- Icon:
· MessageBoxIcon.Exclamation: dùng cho các trường hợp sau
o Cảnh báo lỗi
o Cảnh báo xóa dữ liệu
o Cảnh báo nhập thiếu, nhập sai dữ liệu
· MessageBoxIcon.Information: dùng cho các thông báo không có tính chất
cảnh báo, ví dụ Kết quả Import, Thông tin về CSDL, …
8. - Nội dung Message: không được phép viết trực tiếp nội dung message mà phải dùng
Resource (sử sụng hàm String.Format để truyền tham số cho Resource nếu cần).
II.3. Quy tắc viết mô tả (comment) cho code
Sử dụng tiếng Việt có dấu (Unicode) để viết comment.
Comment cho Module, Class
Mỗi Module, Class cần có mô tả ngắn về mục đích của Module hay Class đó. Nội dung
gồm:
Mục đích: Module hay Class thực hiện những công việc gì.
Người lập: Người tạo Module hay Class
Những biến/hàm quan trọng (không bắt buộc): Liệt kê tên các biến và hàm quan trọng
trong Module/Class
Comment cho Method và Event
- Tất cả các Method và Event phải có comment.
- Comment cho Method/Event gồm hai phần:
o Phần 1 (không bắt buộc): mô tả mục đích và diễn giải ngắn gọn ý nghĩa
các tham số đầu vào, đầu ra.
Lưu ý: mô tả Method đó làm gì (What), không mô tả Method đó thực hiện
thế nào (How).
Từ VC# 2005 trở đi, Microsoft cung cấp sẵn một macro dành cho việc
viết comment mục đích. Sử dụng như sau: gõ liên tiếp 3 dấu nháy đơn (‘)
trên đầu mỗi Method.
Lập trình viên có thể không cần viết phần mô tả mục đích này với các
Method/Event đơn giản, không phức tạp.
o Phần 2 (bắt buộc): ghi thông tin về history tạo và sửa Method/Event đó
(người tạo/ngày tạo, người sửa/ngày sửa). Thông tin này bắt buộc phải có
với mọi Method/Event.
- Mẫu comment cho Method/Event đơn giản:
// Created by (người tạo) – (ngày/tháng/năm tạo): diễn giải ngắn gọn mục đích
// Modified by (người sửa 1) – (ngày/tháng/năm sửa 1): diễn giải việc sửa 1
// Modified by (người sửa 2) – (ngày/tháng/năm sửa 2): diễn giải việc sửa 2
//…
9. // Modified by (ng i s a n) – (ngày/tháng/năm s a ườ ử ử n): diễn giải việc sửa n
Ví dụ
// Created by lhhoa - 20/02/2008: hàm lấy khoảng thời gian là ngày đầu và ngày cuối của
tháng trước
// Modified by nvkieu - 25/02/2008: sửa lỗi gì đó
// Modified by nqhoang - 27/02/3008: bổ sung gì đó
private void GetDateLastMonth(fromDate datetime, toDate datetime, currentMonth int,
currentYear int)
{
if (currentMonth == 1)
{
fromDate = DateSerial(currentYear - 1, 12, 1);
toDate = DateSerial(currentYear - 1, 12, DaysInMonth(currentYear - 1, 12));
}
else
{
fromDate = DateSerial(currentYear, currentMonth - 1, 1);
toDate = DateSerial(currentYear, currentMonth - 1, DaysInMonth(currentYear,
currentMonth - 1));
}
…………………………….
}
- Mẫu comment cho Method/Event phức tạp:
/// <summary>
/// Diễn giải mục đích
10. ///</summary>
///<param name="Tham s 1">Di n gi i cho ố ễ ả Tham số 1</param>
///<param name="Tham số 2">Diễn giải cho Tham số 2</param>
/// …
/// <param name="Tham số n">Diễn giải cho Tham số n</param>
/// <remarks>Nhận xét (nếu có)</remarks>
/// Created by (người tạo) – (ngày/tháng/năm tạo)
/// Modified by (người sửa 1) – (ngày/tháng/năm sửa 1): diễn giải việc sửa 1
/// Modified by (người sửa 2) – (ngày/tháng/năm sửa 2): diễn giải việc sửa 2
/// …
/// Modified by (người sửa n) – (ngày/tháng/năm sửa n): diễn giải việc sửa n
Ví dụ:
/// <summary>
/// Hàm lấy khoảng thời gian là ngày đầu và ngày cuối của tháng trước.
/// </summary>
/// <param name="fromDate">Ngày đầu tháng trước</param>
/// <param name="toDate">Ngày cuối tháng trước</param>
/// <param name="currentMonth">Tháng hiện tại</param>
/// <param name="currentYear">Năm hiện tại</param>
/// <remarks></remarks>
/// Created by lhhoa - 20/02/2008
/// Modified by nvkieu - 25/02/2008: sửa lỗi gì đó
/// Modified by nqhoang - 27/02/3008: bổ sung gì đó
private void GetDateLastMonth(fromDate datetime, toDate datetime, currentMonth int,
11. currentYear int)
{
if (currentMonth == 1)
{
fromDate = DateSerial(currentYear - 1, 12, 1);
toDate = DateSerial(currentYear - 1, 12, DaysInMonth(currentYear - 1, 12));
}
else
{
fromDate = DateSerial(currentYear, currentMonth - 1, 1);
toDate = DateSerial(currentYear, currentMonth - 1, DaysInMonth(currentYear,
currentMonth - 1));
}
…………………………….
}
Comment cho đoạn Code
- Những đoạn code phức tạp cần có comment gắn liền bên trên để chú giải.
- Những đoạn code được sửa đổi (modified), bổ sung (added) hoặc rem (removed)
bởi người không phải tác giả cần có comment rõ ngay tại nơi sửa đổi, bổ sung:
người sửa, ngày sửa, mục đích.
- Comment cho đoạn code áp dụng bắt buộc với các Base Form/Base Class/Base
Control.
II.4. Quy tắc phân nhóm (region) khi coding:
Phải sử dụng Region phân nhóm code để tiện cho việc sửa đổi, bảo trì.
Phân nhóm code theo cấu trúc như sau: (theo thứ tự bắt buộc, nhưng không bắt buộc có
đủ tất cả các region)
12. Declaration
Constructor
Property
Method/Function
Event
Tùy theo yêu c u c a các form, class và module, l p trình viên ầ ủ ậ có thể chia nhỏ các
Region chính trên thành các sub-region. VD: region Method/Function có thể chứa các
region con sau:
Method/Function
Public
Overridable (trường hợp là base form/class)
Override (trường hợp là derive form/class)
Private
Other
Trường hợp form hoặc class có sử dụng các component độc lập (Security, Document,
MassEmail,…) thì phải tạo các Region riêng cho từng component, chứa toàn bộ code
liên quan đến việc tương tác với các component đó.
II.5. Quy định bẫy lỗi khi coding
- Bắt buộc bẫy lỗi (sử dụng try … catch) trong tất cả các Event của Form và
Control trên Form.
- Nghiêm cấm sử dụng cú pháp try … catch để che dấu lỗi (không xử lý gì sau từ
khóa catch).
13. Bad!!!
Good!!!
II.6. Quy định thiết kế Dataset:
- Tên của Dataset khi visual design đặt như sau: “Dataset” + Mục đích. VD:
DatasetDictionary, DatasetCAPayment, …
- Số lượng DataTable trong một Dataset: quy định từ 10 trở xuống. Mỗi Dataset chỉ
được phép có tối đa 10 DataTable. Khi thiết kế phải tách Dataset để đảm bảo
nguyên tắc này. Nếu một Dataset có nhiều DataTable thì tốc độ load/save dữ liệu
sẽ bị ảnh hưởng nghiêm trọng.