Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 182 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
182
Dung lượng
4,33 MB
Nội dung
1 MỤC LỤC Mục lục Lời Mở Đầu Error! Bookmark not defined Chương 1.1 Giới Thiệu ADO.NET Giới thiệu 1.1.1 ADO.NET Là Gì ? .7 1.1.2 Hiểu Đơn Giản Về ADO.NET .9 1.2 Các Data provider thông dụng: 11 1.2.1 SQL Data Provider 12 1.3 Chương Dataset Error! Bookmark not defined Cơ Sở Dữ Liệu SQL SERVER 15 2.1 SQL gì? 15 2.2 Các thao tác sở liệu 15 2.3 Định nghĩa liệu SQL .15 2.4 Phát biểu SQL Select .16 2.4.1 Mệnh đề WHERE 18 2.4.2 Sắp xếp liệu 21 2.5 Chèn thêm liệu (INSERTING DATA) .22 2.6 Thay đổi liệu (UPDATING DATA) 23 2.7 Xóa liệu (DELETING DATA) 24 2.8 Kiểu liệu T-SQL .24 2.8.1 Dữ liệu kiểu số (Numeric Data Types) 24 2.8.2 Dữ liệu kiểu tiền tệ (Money Data Types) 25 2.8.3 Kiểu liệu chuỗi kí tự (Character String Data Types) 25 2.8.4 Kiểu liệu ngày ( Date and Time Data Types ) 25 2.8.5 Kiểu liệu khác (Other Data Types) .26 2.8.6 Độ ưu tiên kiểu liệu (Data Type Precedence) 26 2.9 Stored Procedure 26 2.9.1 Stored Procedure 27 2.9.2 Tạo Stored Procedure .28 2.9.3 Thực thi Stored Procedure 29 2.9.4 Thay đổi nội dung Stored Procedure 30 2.9.5 Xóa Stored Produre 31 2.9.6 Tham số Stored Procedure .31 2.9.7 Trả giá trị Stored Procedure .33 2.9.8 Kết hợp Stored Procedure với lệnh T-SQL 34 Chương Các Thành Phần ADO.NET 36 3.1 Giới thiệu .36 3.2 Đối tượng Connection 37 3.2.1 Kết nối sở liệu SQL Server 37 3.2.2 Tập tin lưu chữ chuỗi kết nối .41 3.2.3 Tham khảo vài chuỗi kết nối CSDL Net Data Provider khác 48 3.2.4 Mở đóng kết nối sở liệu 49 3.3 Đối tượng Command .52 3.3.1 Đối tượng SqlCommand 53 3.3.2 Đối tượng DataReader .66 3.3.3 Đối tượng DataAdapter 69 3.3.4 Đối tượng SqlParameter 76 Chương Các Thành Phần Phía Ứng Dụng .80 4.1 Giới thiệu .80 4.2 Datatable 81 4.2.1 DataColumn .82 4.2.2 DataRow 83 4.2.3 DataView 84 4.2.4 Nạp liệu vào DataSet 84 4.2.5 Nạp liệu vào DataSet DataAdapter 85 4.2.6 Cập nhật CSDL DataAdapter 86 4.3 Các đối tượng trình diễn liệu 107 4.3.1 DataView – Một góc nhìn DataTable .107 4.3.2 Tạo sử dụng DataView 107 4.3.3 Lọc liệu với RowFilter, xếp liệu với thuộc tính Sort() 108 4.4 Trình diễn liệu với DataGridView 110 4.4.1 Xác định dịng, hành 111 4.4.2 Tùy biến điều khiển nhập liệu DataGridView 113 4.4.3 Thêm cột điều khiển Button vào DataGridView 120 Chương 5.1 Thiết Kế Báo Biểu 124 Sử DÙNG REPORT CHUẨN CỦA VISUAL STUDIO 2010 124 5.1.1 Quy trình tạo Report 124 5.1.2 Ví dụ minh họa: .125 5.2 BÀI TẬP ỨNG DỤNG CHO PHẦN REPORT 139 5.2.1 Bài tập 1: Thiết kế report có sử dụng ComboBox 139 5.2.2 Bài tập 2: 140 5.2.3 Bài tập 3: 140 5.2.4 Bài tập 04: 141 5.3 Hướng dẫn giải tập: .142 5.3.1 Hướng dẫn tập 142 5.3.2 Bài tập 2: (tương tự tập 1) 150 5.3.3 Hướng dẫn Bài tập 4: .150 Chương Mơ hình lớp 154 6.1 Giới thiệu mơ hình lớp .154 6.2 Các thành phần 3-Layer .154 6.2.1 Presentation Layers 154 6.2.2 Business Logic Layer .154 6.2.3 Data Access Layer 154 6.3 Cách vận hành mô hình .155 6.4 Tổ chức mơ hình 3-Layer 155 Phụ Lục Chuẩn viết code C# Tài liệu tham khảo MỞ ĐẦU Tư lập trình năm gần có biến đổi lớn Đó đời phương pháp lập trình hướng đối tượng Với phương pháp lập trình này, người lập trình khơng cịn lo ngại trước chương trình lớn phức tạp Cùng với xu hướng đó, giáo trình lập trình ứng dụng sở liệu với C# cung cấp cho sinh viên cách tiếp cận lập trình hướng đối tượng đại, mà cụ thể hướng dẫn sinh viên lập trình theo mơ hình lớp Giáo trình gồm chương giới thiệu cho sinh viên đầy đủ vấn đề lập trình ứng dụng sở liệu Chương 1, giới thiệu tổng quan mô hình lập trình ADO.NET với kiến thức chương giúp sinh viên có nhìn tổng quan lập trình kết nối sở liệu Chương 2, đưa thành phần ngôn ngữ SQL sử dụng viết chương trình Chương 3, nêu nội dung cụ thể thành phần ADO.NET cách sử dụng đối tượng Chương 4, tập trung vào đối tượng phía ứng dụng DataSet, DataTable, DataColumn, DataRow, DataView… Chương 5, hướng dẫn sữ dụng Report làm báo cáo Chương 6, nêu mơ hình lập trình lớp Trong Chương có câu hỏi hiểu tập thực hành giúp sinh viên ôn lại kiến thức học giảng lý thuyết đồng thời củng cố kiến thức cho sinh viên tạo điều kiện cho sinh viên có nhiều thời gian thực hành nhà CHƯƠNG GIỚI THIỆU ADO.NET Sau học xong sinh viên nắm được: - ADO.NET gì? Liệt kê phần kiến trúc ADO.NET Mô tả chức đối tượng thành phần kiến trúc ADO.NET Các Data Provider chuẩn NET gì? Các lớp, phương thức, thuộc tính Provider giống khác nào? Cơ chế Disconnected nào? Ưu điểm chế này? Trọng tâm giảng Hiểu kiến trúc ADO.NET từ thấy cách thức truy cập nguồn liệu cách thức lấy liệu đối tượng lưu trữ xứ lý ADO.NET Hiểu chức đối tượng: Connection, DataAdapter, Command, DataReader, DataSet 1.1.GIỚI THIỆU Trong phần đầu tìm hiểu cơng nghệ ADO.NET Microsoft Nội dung bao la nên tìm hiểu sơ lược bạn nắm rõ chức cách thức sử dụng vào thực tế 1.1.1 ADO.NET Là Gì ? ActiveX Data Object.NET (ADO.NET) thư viện phần mềm NET Framework Bao gồm thành phần phần mềm cung cấp dịch vụ truy cập liệu ADO.NET thiết kế phép nhà phát triển viết mã quản lý cho việc tiếp cận nguồn liệu bị ngắt kết nối, có quan hệ khơng quan hệ (như XML liệu ứng dụng) Tính ADO.NET giúp ứng dụng chia sẻ liệu hay ứng dụng phân tán ADO.NET cung cấp kết nối truy cập với CSDL cách sử NET Managed Provider ( mặc định Net Framework có hai Managed Providers SQL Managed Provider and OleDB Managed Provider) truy cập bị ngắt kết nối cách sử dụng Datasets, ứng dụng sử dụng kết nối sở liệu thời gian truy xuất liệu cập nhật liệu Datasets thành phần giúp đỡ để lưu trữ liệu liên tục nhớ để cung cấp truy cập bị ngắt kết nối để sử dụng nguồn tài nguyên sở liệu cách hiệu khả mở rộng tốt ADO.NET phát triển từ ADO, công nghệ tương tự ADO.NET với vài thay đổi cấu trúc Mặc dù có vài trường hợp để làm việc chế độ bị ngắt kết nối cách sử dụng ADO, liệu chuyển đến CSDL ADO.NET hiệu cách sử dụng Data Adapters Các đại diện nhớ liệu ADO ADO.NET khác ADO.NET giữ liệu bảng kết nhất, ADO giữ nhiều bảng với chi tiết mối quan hệ Không giống ADO, việc truyền liệu ứng dụng cách sử dụng ADO.NET không sử dụng COM (Component Object Model) để xếp mà dùng datasets, truyền liệu dòng XML Kiến trúc ADO.NET dựa hai yếu tố : Dataset NET Framework data provider Data provides gồm thành phần sau : - Datasets - Một tập hợp đầy đủ CSDL bao gồm table có liên quan , ràng buộc mối quan hệ chúng - Chức giống truy cập liệu từ xa từ dịch vụ Web XML - Thao tác với liệu động - Xử lý liệu theo kiểu không kết nối - Cung cấp cho xem thứ bậc XML liệu quan hệ - Xử dụng công cụ XSLT XPath Query để hoạt động liệu NET Framework Data Provider bao gồm thành phần sau để thao tác liệu : - Connection: Cung cấp kết nối với nguồn liệu (database) Hay nói cách khác đối tượng có nhiệm vụ thực kết nối tới CSDL - Command: Thực thao tác cần thiết với CSDL để lấy liệu, sửa đổi liệu thực thủ tục lưu trữ Hiểu đơn giản đưa mệnh lệnh CSDL - DataReader: Cung cấp việc đọc liệu đọc dòng liệu thời điểm đọc theo chiều tiến từ đầu đến cuối - DataApdater: Nó đóng vài trò cầu nối Dataset CSDL, tải liệu lên dataset đồng thay đổi dataset lại CSDL - Datasets: Để lưu trữ, truy cập từ xa lập trình với liệu phẳng (Flat), liệu XML liệu quan hệ 1.1.2 Hiểu Đơn Giản Về ADO.NET Là công nghệ truy cập liệu cốt lõi cho ngôn ngữ nhắm vào mức CLR (Common Language Runtime) Sử dụng không gian tên System.Data.SqlClient để truy cập vào SQL Server, Providers từ nhà cung cấp khác để truy cập liệu họ Sử dụng System.Data.ODBC System.Data.OleDb truy cập liệu từ ngôn ngữ NET sử dụng công nghệ truy cập liệu khác Sử dụng System.Data.Dataset bạn cần nhớ cache liệu ẩn ứng dụng khách hàng (client) ADO.NET phần NET Framework Để tạo ứng dụng mà sử dụng NET Framework ADO.NET xây dựng để hỗ trợ cho sở liệu bao gồm MS SQL Server databases với OLEDB nguồn liệu ODBC Tối ưu hóa đáp ứng cho nhà cung cấp bên thứ ba ADO.NET cho phép: - Thao tác với CSDL hai môi trường Connected data & Disconnected data - Làm việc tốt với XML - Tương tác với nhiều nguồn liệu - Làm việc môi trường internet Các class đặt namespace: System.Data Ba thư viện là: - System.Data.OleDb: Dùng để truy xuất CSDL hỗ trợ OLEDB - System.Data.Odbc: Dùng truy xuất nguồn liệu ODBC 10 - System.Data.Sqlclient: Dùng để truy xuất đến CSDL SQL Server mà không cần thông qua OLEDB ADO.NET thành phần NET nên sử dụng tất ngôn ngữ mà NET hỗ trợ như: C#, VB.NET, C++ Đặc biệt sử dụng ADO.NET bạn có hai lựa chọn: - Làm việc với môi trường cần kết nối data Ứng dụng client kết nối tới CSDL thao tác CSDL nằm Server Khơng có kết nối khơng truy xuất liệu - Làm việc với môi trường không kết nối Có nghĩa dùng dataset để mô tả lại table tương đương với CSDL Dữ liệu lấy từ CSDL lên Dataset lưu dạng XML Khi điều kiện ko có kết nối tới CSDL, thao tác liệu lưu lên Dataset sau đồng với CSDL Giống nhớ tạm thời nằm phía client Khi có kết nối lựa chọn đồng với Server Nhìn tổng thể kiến trúc ADO.Net gồm hai phần: - Phần kết nối: Thực kết nối với CSDL thực thao tác Sử dụng Connetion, Command, DataReader, DataAdapter 168 } private void btnlaythongtin_Click(object sender, EventArgs e) { laythongtin(); } int makhachhang; string tenkhachhang; private void btnluuthongtin_Click(object sender, EventArgs e) { if (txtmakhachhang.Text.Length > 0) { if (txttenkhachhang.Text.Length > 0) { makhachhang = Convert.ToInt32(txtmakhachhang.Text); tenkhachhang = txttenkhachhang.Text; if (bd.themkhachkhang(ref err, makhachhang, tenkhachhang)) { MessageBox.Show("Thanhcong"); laythongtin(); } else { MessageBox.Show("thất bại"+err); } } else { MessageBox.Show("nhapten","Thong bao",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning); txttenkhachhang.Focus(); } } else { MessageBox.Show("nhập mã số", "Thong bao", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); txttenkhachhang.Focus(); } } } 169 PHỤ LỤC CHUẨN VIẾT CODE TRONG C# Đưa quy ước viết với ngôn ngữ lập trình C#, với quy tắc giúp tiết kiệm thời gian lớn tiến trình phát triển phần mềm trình bảo trì sản phẩm Giúp sinh viên quen với làm việc theo nhóm Tài liệu chủ yếu hướng dẫn sinh viên với ngôn ngữ lập trình C#, có nhiều quy tắc sử dụng nhiều ngơn ngữ lập trình khác tích hợp cơng cụ Visual Studio NET Các nội dung quy định Các kiểu quy ước viết hoa Có quy tắc : Pascal Case: Chữ từ định danh chữ mối từ nối theo sau phải viết hoa Sử dụng Pascal case để đặt tên cho tên có từ ký tự trở lên Ví dụ: BackColor Camel Case : Chữ từ định danh chữ thường chữ mối từ nối theo sau phải viết hoa Ví dụ: backColor Uppercase : Tất ký tự từ định danh phải viết hoa Sử dụng quy tắc tên định danh có từ ký tự trở xuống Ví dụ: System.IO Một số lưu ý cách đặt tên cho thành phần Không dùng tên giống nhau(chỉ phân biệt kiểu chữ in hoa hay thường) Ta khó nhận định danh ngữ cảnh phân biệt định danh kiểu chữ in hoa/thường Không tạo namespace tên khác kiểu chữ viết(chữ hoa/Chữ thường) Ví dụ: namespace khó để nhận biết: Namespace IridiumSoftware 170 Namespace iridiumsoftware Không nên xây dựng phương thức với tham số có tên khác kiểu chữ Ví dụ: Void MyFunction(string a, string A) Không xây dựng kiểu với tên property giống phân biệt kiểu chữ Ví dụ: property khó để nhận biết: int Color {get, set} int COLOR {get, set} Khơng đặt tên phương thức có tên khác nhauở kiểu chữ Ví dụ: void calculate() void Calculate() Không dùng từ viết tắt phần tên định danh như: GetWindow viết thành GetWin ko hợp quy ước Ta sử dụng kí tự tên có nhóm từ để đặt tên cho Ví dụ: UI thay cho User Interface Không sử dụng từ viết tắt thừa nhận từ lĩnh vực tin học khác (Ví dụ: XML, TTL, DNS, UI, IP IO …) Khi đặt tên viết tắt, bạn sử dụng cách viết Pascal case hay Camel case để đặt tên Trong trường hợp bạn dùng tên HtmlButton HTMLButton Tuy nhiên với trường hợp tên có ký tự bạn nên viết System.IO thay cho System.Io Không dùng từ viết tắt tên định danh tên tham sô Nếu bạn cần thiết phải dùng đến từ viết tắt, dùng cách viết Camel Case cho từ viết tắt có từ kí tự trở lên chí phủ định lại chuẩn viết tắt từ Tránh sử dụng lại từ khóa tên class chuẩn dùng NET Framework namespaces 171 Cách tổ chức file project File mã nguồn Giữ file nguồn class không dài (không vượt 2000 LOC - Lines of Code), phân chia code thành đơn vị code nhỏ tạo nên cấu trúc code sáng sủa Đặt class vào file source riêng biệt tên file tên class (với phần đuôi mở rộng cs) Thứ tự file source C#: Các lệnh using Lệnh namespace Các khai báo Class and interface Các lệnh Namespace using Các dịng khơng phải dòng comment hầu hết file source C# lệnh using, lệnh namespace sau: using System.Data; namespace Business.Framework; Cả lệnh đề canh sát lề trái Các khai báo class interface Khai báo class -> Ghi -> Nội dung class Ví dụ: Khai báo class Class/interface documentation /// /// The Person class provides … /// public class Person Trình tự khai báo fields theo mức độ cho phép truy cập Private Protected Internal public Trình tự khai báo Properties theo mức độ cho phép truy cập Private 172 Protected Internal public Trình tự khai báo Constructors theo mức độ cho phép truy cập Private Protected Internal Public Quy Tắc đặt tên biến Quy tắc đặt tên cho namespace Quy tắc chung cho việc đặt tên Namespace dùng tên công ty theo sau tên công nghệ tùy chọn tên đặc trưng hay thiết kế : CompanyName.TechnologyName[.Feature][.Design] Ví dụ: Quy tắc đặt tên Namespace IridiumSoftware.IridiumX IridiumSoftware.IridiumX.Design Microsoft.Office Quy tắc đặt tên cho class Thường dùng danh từ cụm danh từ để đặt tên cho class Kí tự từ chữ in hoa.(Dùng quy tắc Pascal Case) Không sử dụng dạng tiền tố Ví dụ: FileStream tên chuẩn Khơng đặt tên theo dạng CfileStream hay ClassFileStream Trong tên class không sử dụng dấu gạch chân (_) Trong trường hợp cần thiết, kí tự đâu tiên tên class bắt đầu kí tự ‘I’ kí tự kí tự bắt đầu từ từ phần tên class tên chấp nhận Ví dụ: IdentityStore Sử dụng từ ghép để đặt tên cho class dẫn xuất, từ thứ tên class dẫn xuất nên lấy tên class sở Ví dụ: ApplicationException tên class dẫn xuất từ class sở Exception, với cách đặt tên ta hiểu ApplicationException loại Exception 173 Với quy tắc tùy trường hợp mà áp dụng để tránh đặt tên class dài lê thê với từ khơng cần thiết Ví dụ: Class Button dẫn xuất từ class Control ta đặt tên theo quy tắc tên class ButtonControl Tên class trở nên dài khơng cần thiết mật định button xem control Dưới cách đặt tên class chuẩn: public class FileStream public class Button public class String Quy tắc đặt tên cho Interface Thường dùng danh từ cụm danh từ, hay tính từ mà mơ tả hành vi để đặt tên cho interface Ví dụ: Cách đặt tên Interface interface Icomponent sử dụng danh từ interface ICustomAttributeProvider sử dụng cụm danh từ interface IPersistable sử dụng tính từ Sử dụng quy tắc PacalCase Tên đặt cho interface phải ngắn gọn Khi định nghĩa cặp class/interface mà class thực thi chuẩn interface tên class interface nên đặt tương tự Và điểm khác tên interface có kí tự tiền tố “I” Khơng sử dụng kí tự gạch chân “_” tên interface Ví dụ: Đặt Interface chuẩn public interface IServiceProvider public interface IFormatable Ví dụ: Cách định nghĩa interface, class thực thi chuẩn interface: public interface IComponent { // Implementation goes here } public class Component : IComponent 174 { // Implementation goes here } Quy tắc đặt tên cho Attribute Bạn nên thêm vào hậu tố Attribute lớp attribute public class ObsoleteAttribute{} Quy tắc đặt tên cho Enumeration - Sử dụng Pascal Case cho tên kiểu giá trị enum - Sử dụng tên ngắn gọn tường minh - Không sử dụng hậu tố Enum tên kiểu Enum Quy tắc đặt tên cho StaticField - Dùng danh từ, cụm danh từ hay danh từ viết tắt để đặt tên cho static fields - Dùng Pascal Case - Sử dụng tiền tố ký pháp Hungarian tên static field - Người ta khuyên dùng thuộc tính static để thay cho static fields có cấp độ chia sẻ dạng public Quy tắc đặt tên cho Parameter - Tên Parameter phải mô tả cách đầy đủ bao hàm tên tham số kiểu liệu - Dùng Camel Case - Tên tham số nên đặt theo hướng mô tả ý nghĩa tham số tốt đặt theo kiểu liệu tham sơ Vì mơi trường lập trình cung cấp thơng tin kiểu liệu tham số - Không nên dùng tham số để dành , mà cần thiết ta thêm vào version sau thư viện class - Không sử dụng tên tham số tiền tố với kí pháp Hungarian Ví dụ: Type GetType(string typeName) string Format(string format, object[] args) 175 Quy tắc đặt tên cho Method - Dùng động từ hay cụm động từ để đặt tên cho methods - Dùng Pascal Case Ví dụ: RemoveAll() GetCharArray() Invoke() Quy tắc đặt tên cho Property - Dùng danh từ hay cụm danh từ để đặt tên cho property - Dùng Pascal Case - Không dùng ký pháp Hungarian - Tạo property đặt tên tương tự kiểu liệu public class SampleClass { public Color BackColor { // Code for Get and Set accessors goes here } } Quy tắc đặt tên cho Event - Dùng hậu tố EventHandler tên event handler - Chỉ định rõ tham số có tên sender e Tham sô sender mô tả object gọi event Tham sơ sender ln ln có kiểu liệu object Trạng thái kết hợp với kiện đóng gói thể event class có tên e Kiểu tham số e phải lớp kiện rõ ràng thích hợp - Đặt tên lớp đối số kiện với hậu tố EventArgs - Nên đặt tên kiện động từ - Dùng danh động từ(dạng thêm “ing” động từ) để đặt tên cho cho kiện mà thể khái niệm pre_event khứ động từ để thể kiện post_event - Không dùng tiền tố hậu tố khai báo event có dạng “OnXXX” Ví dụ: dùng Close thay dùng OnClose 176 - Tổng quát hơn, bạn nên cung cấp method có mức truy cập protected gọi kiện có dạng “OnXXX” mà kiện bị ghi đè class dẫn xuất Method nên có tham số kiện e Ví dụ: public delegate void MouseEventHandler(object sender, MouseEventArgs e); Quy tắc đặt tên cho Control Bảng danh sách tiền tố kiểu controls thông dụng: Prefix Control lbl llbl but txt mnu chk rdo grp pic grd lst cbo lstv tre tab dtm mon sbr tmr spl dud nud trk pro rtxt img hlp tip cmnu tbr frm bar nico Label LinkLabel Button Textbox MainMenu CheckBox RadioButton GroupBox PictureBox Grid ListBox ComboBox ListView TreeView TabControl DateTimePicker MonthCalendar ScrollBar Timer Splitter DomainUpDown NumericUpDown TrackBar ProgressBar RichTextBox ImageList HelpProvider ToolTip ContextMenu ToolBar Form StatusBar NotifyIcon 177 ofd sfd fd cd pd ppd ppc err pdoc psd crv pd sw log dire dirs msq pco pro ser rpt ds olea olec oled sqla sqlc sqld dvw OpenFileDialog SaveFileDialog FontDialog ColorDialog PrintDialog PrintPreviewDialog PrintPreviewControl ErrorProvider PrintDocument PageSetupDialog CrystalReportViewer PrintDialog f FileSystemWatcher EventLog DirectoryEntry DirectorySearcher MessageQueue PerformanceCounter Process ServiceController ReportDocument DataSet OleDbDataAdapter OleDbConnection OleDbCommand SqlDbDataAdapter SqlDbConnection SqlDbCommand DataView Menu Controls Menu controls nên đặt tên cách dùng tag “mnu” theo sau đường dẫn xuống đầy đủ theo menu Ví dụ tên biến control menu: mnuFile mnuFileNew mnuEdit mnuEditCopy mnuInsertIndexAndTables mnuTableCellHeightAndWidth 178 Quy tắc đặt tên cho Data - Nếu cần dùng tên CustomerCode hiển thị lên text box, text box phải đặt tên txtCustomerCode - Nếu dùng combobox để hiển thị mã số khách hàng, control đặt tên cboCustomerCode - Nếu muốn lưu mã khách hàng vào biến module đặt tên mCustomerCode - Nếu muốn chuyển sang chuỗi dùng câu lệnh sau: String mCustomerCode = CustomerCode.ToString() Quy tắc Comment - Các chương trình C# có loại comment implementation comments documentation comments - Implementation comments comment C++, mà định nghĩa bới dấu /*…*/, // - Documentation comments có C#, định nghĩa tag XML Implementation comments dùng để giải thích cho đoạn code hay để thích cho implemention cách cụ thể Các kỹ thuật Comment - Khi sửa code nên nhớ comment ngày sửa code - Comments nên chứa câu giải thích hồn - Tránh sử dụng comment cuối dòng cho đoạn code (trừ khai báo biến) - Tránh dùng dòng comment chứa đầy dâu hoa thị mà nên dùng khoảng trắng thay vào - Tránh dùng khối comment có khung viền nghệ thuật Mặc dù nhì đẹp khó khăn bảo trì - Trước chuẩn bị triển khai nên xóa comment tạm thời hay comment không liên quan để tránh gặp rối trình bảo trì sản phẩm sau - Dùng câu comment hồn thiện Comment nên sáng sủa khơng nên thêm vào câu nhập nhằng - Để tránh comment lặp lại nhiều lần ta nên thực động tác comment vào lúc fix bug cho code, đặc biệt làm việc mơi trường nhóm - Nên dùng comments cho code chứa vòng lặp điều kiện rẽ nhánh Nó hỗ trợ người đọc đọc source code 179 Implementation Comments Block comments - Với C# comment (///) thường sử dụng(do VS tự generate) Khi dùng comments cho khối thích nên dùng theo style sau: /* Line * Line * Line */ - Comment bên hiếm: /* http://www.vi-infotech.com */ - Block comments dùng để mô tả cho file, method, cấu trúc liệu thuật toán - Mỗi file code nên có khối comment header, khối header nên trình bày bên dưới: #region Copyright vi-infotech.com @ 2012 // // All rights are reserved Reproduction or transmission in whole or // in part, in any form or by any means, electronic, mechanical or // otherwise, is prohibited without the prior written consent of the // copyright owner // // Filename: abc.cs // #endregion Single Line comments - Nên dùng dấu comment // để comment dòng code dùng để comment cho đoạn code - Single line comments phải thuộc vào so với mức canh lề code dùng cho tài liệu code Comment nên đặt dòng đoạn code muốn comment để làm tăng tính sáng tường minh đoạn code - Thơng thường độ dài comment không vượt chiều dài đoạn code muốn comment, điều làm cho code trở nên rối rắm thêm 180 if (condition) { // Handle the condition … } Trailing comments Dùng với việc mô tả khai báo biến mô tả ngắn cho câu lệnh: if (a == 2) { return true; // Special case } else { return isPrime(a); // Works only for odd a } Code-Disabling comments Dấu comment // dùng để che đoạn code chọn Để dùng comment ta dùng tổ hợp phím CTRL+K, CTRL+C Để hủy bỏ ấn CTRL+K, CTRL+U if (foo > 1) { // Do a double-flip … } else { return false; // Explain why here } // if (bar > 1) // { // // // Do a triple-flip // … // } 181 // else // { // return false; // } Documentation Comments Trong net framework, Microsoft đưa hệ thống phát sinh tài tài liệu (documentation generation system) dựa vào comment dạng thẻ XML Những comments sử dụng dấu comment /// với thẻ XML Ví dụ lời comment dịng: /// /// This class… /// Ví dụ lời comment nhiều dòng: /// /// This exception gets thrown as soon as a /// Bogus flag gets set /// Trước tất dịng có dấu / trước Các Tag chia thành loại: Documentation items Formatting/Referencing Loại bao gồm tag , hay Những tag mô tả thành phần API chương trình tài liệu hóa lập trình viên khác dùng lại Những tag thường có thuộc tính name Loại thứ liên quan đến việc bố trí tài liệu, sử dụng tag as , 182 TÀI LIỆU THAM KHẢO [1] Phạm Hữu Khang, Trần Tiến Dũng (2006),C# 2005 , tập – Lập trình Cơ sở dự liệu NXB Lao Động Xã Hội, Tp Hồ Chí Minh ... đến CSDL: Select, Insert, Update, Delete _oledbconnection.Close() Kết nối đến Excel Ví dụ: using System.Data.Odbc; OdbcConnection _odbcconnection = new OdbcConnection(); _odbcconnection.ConnectionString... false; if (sqlconnection.State==ConnectionState.Open) { sqlconnection.Close(); } connectionstring = ConnectionString; sqlconnection.ConnectionString = connectionstring; try { sqlconnection.Open();... bạn c? ??n phải khởi tạo nó: _sqlconnection = new SqlConnection(); Lưu ý: lớp sqlConnection c? ? hai Constructor c? ?i đặt Overload SqlConnection SqlConnection(connectionString) Với khai bao new Sqlconnection()