Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 200 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
200
Dung lượng
8,14 MB
Nội dung
1 BỘ LAO ĐỘNG THƯƠNG BINH & XÃ HỘI TỔNG CỤC DẠY NGHỀ GIÁO TRÌNH Môđun : LẬP TRÌNH TRỰC QUAN Nghề : QUẢN TRỊ MẠNG MÁY TÍNH TRÌNH ĐỘ : CAO ĐẲNG NGHỀ (Ban hành kèm theo Quyết định số 120/QĐ-TCDN ngày 25/02/2013 Tổng cục trưởng Tổng cục dạy nghề) Hà Nội, năm 2013 TUYÊN BỐ BẢN QUYỀN: Tài liệu thuộc loại sách giáo trình nên nguồn thông tin phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm MÃ TÀI LIỆU: MĐ23 LỜI GIỚI THIỆU Lịch sử phát triển Tin học gắn liền với việc tìm kiếm phương pháp lập trình để giúp cho người sử dụng triển khai ứng dụng cách dễ dàng, nhanh chóng hiệu Như biết, loại máy tính (sử dụng loại CPU – Central Processing Unit xác định) hiểu thực trực tiếp lệnh chương trình theo loại ngôn ngữ dành riêng gọi ngôn ngữ máy Tuy nhiên, triển khai ứng dụng thực tế mà phải viết chương trình trực tiếp ngôn ngữ máy phức tạp, đòi hỏi thời gian công sức lớn, nhiều thực Vì vậy, người ta tìm cách xây dựng ngôn ngữ lập trình riêng gần với ngôn ngữ tự nhiên, thuận lợi cho việc triển khai ứng dụng Khi thực chương trình ngôn ngữ phải qua bước dịch chương trình sang ngôn ngữ máy để thực Từ trước đến có nhiều ngôn ngữ lập trình đời phục vụ đắc lực cho việc triển khai ứng dụng máy tính Trong giai đoạn đầu, ngôn ngữ lập trình dễ sử dụng ngôn ngữ máy khó với lập trình viên chưa đủ mạnh để dễ dàng triển khai thuật toán Chương trình chưa có tính cấu trúc chặt chẽ mặt liệu tổ chức chương trình Vì vậy, việc triển khai ứng dụng thực tế ngôn ngữ lập trình khó khăn Giai đoạn thời kỳ ngôn ngữ lập trình có cấu trúc Các ngôn ngữ lập trình có đặc điểm có tính cấu trúc chặt chẽ mặt liệu tổ chức chương trình Một loạt ngôn ngữ lập trình có cấu trúc đời dược sử dụng rộng rãi : PASCAL, C, BASIC Giai đoạn thời kỳ lập trình hướng đối tượng phương pháp lập trình có bước biến đổi mạnh Trong ngôn ngữ lập trình có cấu trúc ứng dụng bao gồm hai thành phần riêng liệu chương trình Tuy chúng có quan hệ chặt chẽ hai đối tượng riêng biệt Trong phương pháp lập trình hướng đối tượng đối tượng lập trình bao hàm liệu phương thức hành động liệu Vì vậy, việc lập trình đơn giản mang tính kế thừa cao, tiết kiệm thời gian lập trình Tuy nhiên, với phương pháp lập trình đòi hỏi lập trình viên phải nhớ nhiều câu lệnh với lệnh có cú pháp tác dụng riêng, viết chương trình phải tự lắp nối lệnh để có chương trình giải toán riêng biệt Trong xu hướng phát triển mạnh mẽ tin học, số người sử dụng máy tính tăng lên nhanh máy tính sử dụng hầu hết lĩnh vực đời sống nên đòi hỏi ngôn ngữ lập trình phải đơn giản, dễ sử dụng mang tính đại chúng cao Chính phương pháp lập trình trực quan đời Đặc điểm ngôn ngữ lập trình trực quan dễ sử dụng, triển khai ứng dụng cách nhanh chóng Đặc điểm bật phương pháp lập trình trực quan : - Cho phép xây dựng chương trình theo hướng kiện (Event-Driven Programming, nghĩa chương trình ứng dụng viết theo kiểu đáp ứng dựa theo tình xảy lúc thực chương trình Tình bao gồm người sử dụng ấn phím tương ứng, chọn lựa nút lệnh gọi lệnh từ ứng dụng khác chạy song song lúc - Người lập trình trực tiếp tạo khung giao diện (interface), ứng dụng thông qua thao tác hình dựa vào đối tượng (ojbect) hộp hội thoại nút điều khiển (control button), đối tượng mang thuộc tính (properties) riêng biệt : màu sắc, Font chữ mà ta cần chọn lựa danh sách cho sẵn - Khi dùng ngôn ngữ lập trình trực quan ta phải tự viết lệnh, tổ chức chương trình cách rắc rối mà cần khai báo việc cần làm tình xuất - Máy tính dựa vào phần thiết kế khai báo lập trình viên để tự động tạo lập chương trình Như với kỹ thuật lập trình trực quan, lập trình viên giống nhà thiết kế, tổ chức để tạo biểu mẫu, đề nghị công việc cần thực máy tính dựa vào để xây dựng chương trình Hiện ngôn ngữ lập trình, hệ quản trị sở liệu theo hướng trực quan thường dùng : Visual Basic, Visual Foxpro, Visual C, Delphi, C Sharp Đồng thời công tác đào tạo nghề, kỹ thực hành đóng vai trò quan trọng nhằm giúp em Học sinh sinh viên có công cụ học tập cụ thể sở tảng vững lý thuyết kỹ tay nghề vững vàng, giáo trình lập trình trực quan công cụ Cuốn sách viết dựa đề cương mô đun “Lập tình trực quan” nghề lĩnh vực CNTT triển khai giảng dạy Khoa Công nghệ Thông tin, Trường Cao đẳng nghề Đà Nẵng từ năm 2007 đến Nội dung sách gồm bài: thứ giới thiệu tổng quan ngôn ngữ lập trình trực quan; giới thiệu lập trình trực quan với Visual Studio.NET, công cụ mạnh để phát triển phần mềm quản lý; Từ đến tập trung giới thiệu cách thức lập trình với ngôn ngữ C#, ngôn ngữ lập trình trực quan đại cung cấp cho người sử dụng công cụ mạnh để thiết kế giao diện, kết nối đến sở liệu, xây dựng hiệu ứng đồ hoạ , thứ áp dụng phần học để xây dựng ứng dụng thực tế Hy vọng sách giúp ích nhiều cho sinh viên trường đào tạo nghề, sở đào tạo lập trình viên; lập trình viên việc tìm hiểu, khám phá ngôn ngữ lập trình trực quan Đặc biệt, sách giúp học sinh sinh viên học nghề làm chủ C# để phát triển ứng dụng sở tự nghiên cứu để làm chủ ngôn ngữ lập trình trực quan khác Mặc dù cố gắng việc biên soạn giáo trình này, mong đóng góp đồng nghiệp, em học sinh sinh viên để ngày giáo trình hoàn thiện Mọi ý kiến đóng góp xin gởi địa email : viethait@gmail.com Xin chân thành cảm ơn! Hà Nội, ngày 20 tháng năm 2013 Tham gia biên soạn Chủ biên Hồ Viết Hà Thành viên Trương Văn Hòa MỤC LỤC LỜI GIỚI THIỆU .1 BÀI : GIỚI THIỆU VỀ NET 2008 C# 12 I TỔNG QUAN VỀ NET FRAMEWORK 12 I.1 Thành phần NET Framework 12 I.2 Những đặc điểm NET Framework 14 II GIỚI THIỆU VISUAL STUDIO NET 2008 16 II.1 Phiên Visual Studio NET 2008 .16 II.2 Làm việc với Visual Studio NET 2008 18 III CÁC LOẠI ỨNG DỤNG DÙNG C# 19 III.1 Ứng dụng Windows Form .20 III.2 Ứng dụng hình bàn phím 20 III.3 Dịch vụ hệ điều hành .20 III.4 Thư viện 20 III.5 Điều khiển người sử dụng định nghĩa .20 III.6 Ứng dụng báo cáo 21 III.7 Ứng dụng SQL Server 21 III.8 Ứng dụng PDA Mobile .21 III.9 Ứng dụng đóng gói triển khai 21 III.10 Tạo Solution 21 IV CẤU TRÚC CHƯƠNG TRÌNH C# .21 IV.1 Cấu trúc chương trình 21 IV.2 Tổ chức Project 23 V CẤU TRÚC THƯ MỤC CỦA CHƯƠNG TRÌNH C# 2008 23 BÀI : LÀM VIỆC VỚI VISUAL STUDIO NET 2008 26 I CỬA SỔ SOLUTION .26 I.1 Tạo Solution 27 I.2 Thêm Project vào Solution .27 I.3 Vị trí sổ Solution Explorer 27 I.4 Tạo Foder Solution 27 I.5 Project khởi động .27 I.6 Biểu đồ lớp 27 I.7 Nội dung tập tin SLN 27 II CỬA SỔ THUỘC TÍNH CỦA PROJECT 27 II.1 Ngăn Application 27 II.2 Resources 27 III CỬA SỔ PROPERTIES .27 IV CỦA SỔ OPTION 27 V HỘP CÔNG CỤ .27 V.1 Nhóm điều khiển Cômmn .27 V.2 Nhóm điều khiển Containers 27 V.3 Nhóm điều khiển Menus Toolbars .27 V.4 Nhóm điều khiển data .27 V.5 Nhóm điều khiển Components 27 V.6 Nhóm điều khiển Printing .27 V.7 Nhóm điều khiển Dialog 27 V.8 Nhóm điều khiển Crytal Reports 28 VI CỬA SỔ DANH SÁCH ĐỔI TƯỢNG 28 VII THỰC ĐƠN REFACTOR 28 V.1 Extrac Method 28 V.2 Encapsulate Field 28 V.3 Extract Interface 28 V.4 Reorder Parameters 28 V.5 Remove Parameters 28 V.6 Rename 28 V.7 Promote Local Variable to Parameters 28 BÀI : CHƯƠNG TRÌNH C# 2008 30 I BIÊN DỊCH VÀ THỰC THI CHƯƠNG TRÌNH 30 I.1 Biên dịch thực thi C++, Visual Basic 6.0 .30 I.2 Biên dịch thực thi chương trình NET 31 I.3 Vai trò MSIL 32 I.4 Biên dịch chương trình C# .32 I Thực thi chương trình C# 38 II GIẢI THÍCH CÁC KHÔNG GIAN TÊN 38 II.1 Không gian tên 38 II.2 Một số không gian tên thường sử dụng 41 III CÁC DẠNG CỦA PHƯƠNG THỨC MAIN .41 IV ĐỊNH DẠNG KẾT QUẢ CỦA CỬA SỔ COMMAND PROMPT .43 V CHÚ THÍCH TRONG CHƯƠNG TRÌNH C# 45 VI KHAI BÁO CHỈ THỊ REGION 45 BÀI : NỀN TẢNG CỦA NGÔN NGỮ C# 49 I KIỂU DỮ LIỆU TRONG C# 50 I.1 Kiểu VALUE 51 I.2 Kiểu REFERENCE 53 I.3 Kiểu NULLABLE 54 II KHAI BÁO BIẾN 54 II.1 Khai báo biến 55 II.2 Gán giá trị cho biến 55 II.3 Giá trị mặc định biến 55 II.4 Giá trị mặc định biến kiểu Nullable 55 II.5 Ký tự đặc biệt giá trị dạng chuỗi 56 II.6 Tầm vực biến 56 III HẰNG VÀ ENUM .56 III.1 Hằng .56 III.2 Kiểu liệt kê (Enum) 57 IV PHÉP TOÁN VÀ CHUYỂN ĐỔI KIỂU DỮ LIỆU 58 IV.1 Phép toán .59 IV.2 Chuyển đổi kiểu liệu 61 IV.3 BOXING VÀ UNBOXING 62 V TÊN, TỪ KHOÁ VÀ CHÚ THÍCH 62 V.1 Tên 63 V.2 Từ khóa 63 V.3 Chú thích 63 VI CÂU LỆNH TRONG C# 63 VI.1 Nhập xuất liệu .64 VI.2 Cấu trúc lựa chọn 65 VI.3 Cấu trúc lặp 65 VI.3 Kiểm soát ngoại lệ 66 VI.4 Mảng 76 I GIỚI THIỆU 80 II CÁC THÀNH PHẦN CƠ BẢN TRÊN CỬA SỔ WINDOWS FORM 83 II.1 Cửa sổ Form 83 II.2 Cửa sổ thuộc tính (Properties) 83 II.3 Cửa sổ Solution Explorer 84 II.4 Hộp công cụ Toolbox 84 III MỘT SỐ CÔNG CỤ CƠ BẢN TRÊN HỘP TOOLBOX 84 III.1 TextBox 85 III.2 Label 86 III.3 Các nút lệnh 86 III.4 ListBox 90 III.5 CheckedListBox .91 III.6 ComboBox .92 III.7 ScrollBar 94 III.8 Trackbar 95 III.9 GroupBox .96 III.10 Timer 96 III.11 MonthCalendar 97 IV FORM VÀ MDI FORM .98 IV.1 Giới thiệu .98 IV.2 Tạo MDI Form .98 V MENU 99 VI RICH TEXTBOX .100 VII FILE DIALOG 101 VII.1 Điều khiển OpenFileDialog SaveFileDialog 101 VII.2 PrintDialog 103 VII.3 ColorDialog 103 VII.4 FontDialog 104 BÀI : FILE VÀ REGISTRY 111 I QUẢN LÝ TẬP TIN HỆ THỐNG 111 I.1 Các lớp NET thể File Folder 112 I.2 Lớp Path 113 II DI CHUYỂN, SAO CHÉP, HUỶ FILE 117 III ĐỌC VÀ GHI FILE 121 III.1.Streams 121 III.2.Làm việc với Binary Files .122 III.3 Làm việc với BufferedStream 123 III.4 Làm việc với tập tin văn .123 IV ĐỌC VÀ GHI VÀO REGISTRY 127 IV.1 Registry 127 IV.2 .NET Registry Classes 129 BÀI : ĐỒ HOẠ VÀ MỘT SỐ XỬ LÝ NÂNG CAO 131 I GIỚI THIỆU VỀ LỚP GRAPHICS 132 II KHỞI TẠO CÁC ĐỐI TƯỢNG GRAPHIC 133 III CÁC ĐỐI TƯỢNG GRAPHIC 133 III.1 Pen 134 III.2 Brush 135 III.3 Font 138 III.4 Color 140 III.5 Giới thiệu Bitmap 142 IV CÁC CHỦ ĐỀ NÂNG CAO TRONG GDI+ .143 IV.1 Antialiasing 143 IV.2 Kỹ thuật Double Buffering 144 BÀI : TRUY XUẤT DỮ LIỆU VỚI ADO.NET .146 I GIỚI THIỆU VỀ LẬP TRÌNH CƠ SỞ DỮ LIỆU 146 I.1 Giới thiệu ADO.NET .146 I.1 Các Namespace .147 I.2 Các lớp dùng chung 147 I.3 Các lớp sở liệu chuyên biệt 148 II ĐỐI TƯỢNG SQL .149 II.2 Không gian tên Microsoft.SqlServer 149 II.3 Làm việc với Microsoft.SqlServer.Management 149 II.4 Thư viện SqlServer.Management 149 II.5 Thao tác liệu 149 III SỬ DỤNG CÁC DATABASE CONNECTION 149 III.1 Sử dụng hiệu Connection 150 III.2 Tùy chọn - try/catch/finally 150 III.3 Tùy chọn hai - Sử dụng khối câu lệnh 151 III.4 Các Transaction (giao dịch) 152 IV.COMMANDS 153 IV.1 Executing Commands 154 IV.2.Gọi Stored Procedure .157 V TRUY CẬP NHANH CƠ SỞ DỮ LIỆU VỚI DATA READER 159 VI MANAGING DATA VÀ RELATIONSHIPS: THE DATASET 162 VI.1 Data Tables 163 VII CÁC SƠ ĐỒ XML 172 VIII.TẠO MỘT DATASET .177 VIII.1.Tạo DataSet dùng DataAdapter 177 IX CÁC CỐ GẮNG THAY ĐỔI DATASET 179 IX.2.Viết XML xuất 181 X LÀM VIỆC VỚI ADO.NETàm việc với ADO.NET 183 X.1.Phân tầng ứng dụng 183 X.2 Tạo khoá với SQL Server .184 X.3.Qui tắt đặt tên 185 X.4 Performance 186 BÀI : XÂY DỰNG ỨNG DỤNG TỔNG HỢP 188 184 DataSet trả cho trình gọi (trong ví dụ này, vài tham số xuât từ stored procedure cập nhật cột) Những thay đổi trộn vào DataSet cách dùng phương thức Merge() Tiến trình mô tả sau: X.2 Tạo khoá với SQL Server Stored procedure RegionInsert ví dụ phần trước tạo giá trí khóa để chèn vào sở liệu Phương thức tạo khoá thô sơ không linh động, ứng dụng thực tế cần dùng đến kĩ thật tạo khóa cao cấp Đầu tiên định nghĩa định dạng cột đơn giản, trả giá trị @@IDENTITY từ stored procedure Stored procedure sử dụng bảng Categories sở liệu Northwind Gõ stored procedure vào SQL Query Analyzer, chạy the file StoredProcs.sql thư mục 13_SQLServerKeys: CREATE PROCEDURE CategoryInsert(@CategoryName NVARCHAR(15), @Description NTEXT, @CategoryID INTEGER OUTPUT) AS SET NOCOUNT OFF INSERT INTO Categories (CategoryName, Description) VALUES(@CategoryName, @Description) SELECT @CategoryID = @@IDENTITY GO Nó chèn dòng vào bảng Category, trả khóa cho trình gọi Bạn kiểm tra procedure cách gõ dòng SQL sau vào Query Analyzer: DECLARE @CatID int; EXECUTE CategoryInsert 'Pasties' , 'Heaven Sent Food' , @CatID OUTPUT; PRINT @CatID; Khi thực thi bó lệnh, chèn mọt dòng vào bảng Categories, trả nhận dạng dòng này, sau biểu diễn cho người dùng Giả sử sau vài tháng sử dụng, muốn có sổ theo dõi đơn giản, để báo cáo cập nhật sửa đổi category name Bạn định nghĩa bảng sau, để giá trị cũ category: Mã sẵn có StoredProcs.sql Cột AuditID định nghĩa cột IDENTITY Sau bạn cấu trúc mọt cặp trigger để báo cáo thay đổi trường CategoryName: CREATE TRIGGER CategoryInsertTrigger ON Categories AFTER UPDATE AS 185 INSERT INTO CategoryAudit(CategoryID , OldName , NewName ) SELECT old.CategoryID, old.CategoryName, new.CategoryName FROM Deleted AS old, Categories AS new WHERE old.CategoryID = new.CategoryID; GO Bạn phải dùng Oracle stored procedure, SQL Server không hỗ trợ nội dung OLD NEW dòng, thay chèn trigger có bảng nhớ gọi Inserted, để xóa cập nhật, dòng cũ tồn bảng Deleted Trigger nhận CategoryID cho cột giả lưu giá trị cũ cột CategoryName Giờ đây, bạn gọi stored procedure để chèn CategoryID mới, bạn nhận mọt giá trị nhận dạng; Dĩ nhiên, không giá trị nhận dòng chèn vào bảng Categories, giá trị tạo bảng CategoryAudit Ouch! Để xem vấn đề, mở SQL Server Enterprise manager, xem nội dung bảng Categories table Bảng liệt kê tất categories có thể sở liệu Giá trị nhận dạng cho bảng Categories 21, chèn dòng cách thực thi mã sau đây, xem trả ID nào: DECLARE @CatID int; EXECUTE CategoryInsert 'Pasties' , 'Heaven Sent Food' , @CatID OUTPUT; PRINT @CatID; Giá trị trả máy 17 Khi xem bảng CategoryAudit, nhận nhận dạng dòng chèn bảng audit, category Đó @@IDENTITY trả giá trị nhận dạng cuối Có hai nhận dạng bạn sử dụng thay cho @@IDENTITY, chúng giải vấn đề Đầu tiên SCOPE_IDENTITY(), trả giá trị nhận dạng cuối tầm vực SQL Server định nghĩa tầm vực như stored procedure, trigger, hàm Nếu thêm câu lệnh INSERT khác vào stored procedure, bạn nhận giá trị không mong chờ IDENT_CURRENT() trả giá trị nhận dạng cuối phát bảng tầm vực nào, trường hợp này, hai người dùng truy cập SQL Server lúc, nhận giá trị người khác Chỉ có cách quản lí thủ công, cách dùng cột IDENTITY SQL Server X.3.Qui tắt đặt tên Trong nhiều năm làm việc với ứng dụng sở liệu, Tôi nhận vài giới thiệu cho cách đặt tên để tiện cho việc dùng chung Tôi biết không liên 186 quan đến NET, qui tắt hữu ích đặt tên Bỏ qua phần bạn có cách đặt tên riêng Database Tables • Luôn số – Product tốt Products Nó tốt mặt ngữ pháp nói "The Product table contains products" "The Products table contains products" Hãy xem sở liệu Northwind để thấy nhận xét • Chấp nhận vài qui tắt đặt tên cho cột bảng – chẳng hạn _ID cho khóa bảng (Ở khóa cột), tên cột phải tên thân thiện, giải thích chứa đựng thông tin cột Một qui tắc đặt tên tốt cho bạn nhìn bao quát vè khả trường sở liệu Database Columns • Dùng danh từ số tốt danh từ số nhiều • Bất kì cột liên kết với bảng khác nên đặt tên với khóa bảng Chẳng hạn, liên kết với bảng Product Product_ID, đến bảng Sample Sample_ID Không phải lúc vậy, chẳng hạn bảng có nhiều liên kết với bảng khác Trong trường hợp tùy bạn sử dụng • Các trường Date nên kết thúc _On, chẳng hạn Modified_On, Created_On Như dễ hiểu • Các trường báo cao nêu kết thúc _By, chẳng hạn Modified_By hay Created_By Constraints • Nếu có thể, nên bao gồm tên bảng cột ràng buộc, chẳng hạn CK__ Ví dụ CK_PERSON_SEX để kiểm tra ràng buộc cột SEX bảng PERSON Một khóa ngoại FK_Product_Supplier_ID, khóa ngoại product supplier • Chỉ kiểu ràng buộc tiếp đầu ngữ, chẳng hạn CK cho kiểm tra ràng buộc FK cho khóa ngoại Chẳng hạn CK_PERSON_AGE_GT0 cho ràng buộc cột age khai báo age phải lớn zero • Nếu bạn muốn rút gọn tên ràng buộc, nên làm điều tên bảng tên cột Khi bạn có ràng buộc vi phạm, dễ dàng nhận lỗi xảy bảng nào, không dễ kiểm tra xem trường sinh lỗi Oracle giới hạn tên 30-kí tự Stored Procedures Nhiều nhà phát triển SQL Server nhận thấy dùng tiếp đầu ngữ 'sp_' qui tắc tốt để đặt tên cho stored procedure SQL Server dùng tiếp đầu ngữ 'sp_' cho tất stored procedure hệ thống Vì vậy, xảy tình trạng xung đột tên stored procedure bạn bắt đầu 'sp_' 'sp_widget' giống với stored procedure chuẩn SQL Server Khi xem xét stored procedure, SQL Server sửa procedure với tiếp đầu ngữ 'sp_' Nêu bạn dùng tiếp đầu ngữ này, thực thi, SQL Server xem tầm vực tại, nhảy đến sở liệu chủ để tìm stored procedure Nếu có tồn có lỗi phát sinh sớm X.4 Performance Bộ managed provider NET có vài giới hạn – bạn chọn OleDb SqlClient; OleDb cho phép kết nối với nguồn liệu 187 OLE DB driver (chẳng hạn Oracle), SqlClient trình cung câp dùng riêng cho SqlServer Trình cung cấp SqlClient viết hoàn toàn mã có quản, sử dụng vài lớp để kết nối sở liệu Trình cung cấp viết gói TDS (Tabular Data Stream) trực tiếp từ SQL Server, chất nhanh OleDb provider, duyệt qua lớp trước tác động vào sở liệu Để kiểm tra điều đó, chạy mã sau sở liệu, khác biệt chỗ sử dụng SqlClient managed provider ADO provider: SqlConnection conn = new SqlConnection(Login.Connection); conn.Open(); SqlCommand cmd = new SqlCommand ( "update tempdata set AValue=1 Where ID=1" , conn); DateTime initial, elapsed ; initial = DateTime.Now ; for(int i = 0; i < iterations; i++) cmd.ExecuteNonQuery(); elapsed = DateTime.Now ; conn.Close(); OLE DB thường sử dụng OleDbCommand SqlCommand Tôi tạo bảng sở liệu nhỏ với hai côtj đây, điền vào dòng đơn: Câu lệnh SQL sử dụng câu lệnh UPDATE đơn giản: UPDATE TempData SET AValue = WHERE ID = SQL đơn giản provider Kết tính giây cho liệt kê bảng sau: Provider 100 1000 10000 50000 OleDb 0.109 0.798 7.95 39.11 Sql 0.078 0.626 6.23 29.27 Nếu bạn hướng vào SQL Server dĩ nhiên bạn chọn Sql provider Trong thực tế, bạn sử dụng sở liệu khác bạn sử dụng OleDb provider Microsoft tạo giao thức tri cập chung cho sở liệu khác System.Data.Các lớp chung dùng sở liệu thích hợp vào thời gian chạy Nó lớp bọc OleDb Sql, nhà cung cấp sở liệu khác viết trình quản lí cho sản phẩm họ, bạn dùng ADO cho provider với thay đổi mã Ví dụ truy cập sở liệu NET, "Scientific Data Center" "Data-Centric NET Programming with C#" (Wrox Press, ISBN 1-861005-92-x) giải thích việc sử dụng C# để truy cập sở liệu MySQL CÂU HỎI VÀ BÀI TẬP Câu 1: Thực kết nối đến sở liệu có sẵn Câu 2: Thực đọc dòng liệu table sở liệu đưa lên đối tượng hiển thị (chẵn hạn combobox) Câu 3: Kết nối truy xuất liệu với đối tượng datagridview 188 BÀI : XÂY DỰNG ỨNG DỤNG TỔNG HỢP Mã bài: MĐ23.09 Giới thiệu: - Phân tích tổng hợp toán thực tế Vận dụng ngôn ngữ lập trình C# để xây dựng ứng dụng vào thực tế Gỡ rối chương trình xây dựng ngôn ngữ lập trình C# Các vấn đề đề cập Xây dựng chương trình liên quan đến Cấu trúc liệu Xây dựng chương trình liên quan đến sở liệu việc quản lý thông tin, CSDL Xây dựng chương trình liên quan đến quản trị hệ thống mạng Xây dựng chương trình liên quan đến đồ hoạ, xử lý ảnh, xử lý đa phương tiện Xây dựng chương trình liên quan đến quản lý File Mục tiêu: Sau học xong này, học viên có khả năng: - Xác định yêu cầu ứng dụng; - Phân tích toán thực tế; - Xây dựng phần mềm ứng dụng dựa ngôn ngữ lập trình C# - Tổ chức làm việc nhóm; - Tự phát triển công nghệ lập trình; - Thực thao tác an toàn với máy tính; Bài 1: Xây dựng chương trình ứng dụng “Xổ số điện toán” Yêu cầu: - Giao diện đẹp, dễ sử dụng - Đảm bảo tính khách quan quay số - Có lựa chọn, quay giải (với thời gian quy định xuất số), quay lần, giá vé, cấu giải thưởng, trị giá giải thưởng…) Bài 2: Xây dựng chương trình ứng dụng “máy tính tay” Yêu cầu: - Giao diện đẹp, dễ sử dụng - Thực chức tính toán tối thiểu bản, như: cộng, trừ, nhân, chia, phần trăm, lũy thừa, nhớ Chú ý tam khảo giao diện ứng dụng calc windows) Bài 3: Xây dựng chương trình ứng dụng “MiniWord” (phần mềm soạn thảo văn bản) Yêu cầu: - Giao diện đẹp, dễ sử dụng - Đảm bảo sử dụng để soạn văn bản, gồm: + Hệ thống thực đơn + Hệ thống công cụ + Hỗ trợ phím nóng 189 Bài 4: Xây dựng chương trình ứng dụng “Quản lý điểm” Yêu cầu: - Giao diện đẹp, dễ sử dụng - Cơ sở liệu MS Access SQL server - Đảm bảo chức năng, gồm; + Đăng ký, đăng nhập + Nhập điểm, xem điểm + Lọc theo điều kiện: sinh viên chưa thi, thi thiếu điểm… + Tìm kiếm theo mã sinh viên, tên sinh viên theo khoa, lớp 190 YÊU CẦU VỀ ĐÁNH GIÁ HOÀN THÀNH MÔN HỌC/MÔ ĐUN Nội dung - Về kiến thức: Được đánh giá qua kiểm tra viết, trắc nghiệm đạt yêu cầu sau: + Cách thức lập trình trực quan + Nắm bắt số khái niệm câu lệnh, từ khoá, cú pháp, đối tượng, kiện để xây dựng số ứng dụng lập trình trực quan + Có khả phân tích xây dựng ứng dụng cho hệ thống dựa ngôn ngữ có khả lập trình NET - Về kỹ năng: Đánh giá kỹ thực hành sinh viên thực hành Lập trình trực quan đạt yêu cầu sau: + Sử dụng thành thạo công cụ lập trình Microsoft (C# để lập trình trực quan + Thiết kế, lập trình ứng dụng thông dụng để phục vụ công việc quản trị mạng ứng dụng thực tế - Về thái độ: cẩn thận, tự giác, xác - Thang điểm đánh giá tổng hợp: thang điểm 10 Tiêu chí đánh giá Hệ số Kiến thức 0,3 Kỹ 0,5 Thái độ 0,2 Cộng: Phương pháp -Hình thức kiểm tra hết môđun chọn hình thức sau: + Đối với kiến thức: theo hình thức viết, vấn đáp, trắc nghiệm + Đối với kỹ năng: đánh giá kỹ thực hành sinh viên thông qua khả thiết kế, lập trình ứng dụng + Thái độ: có thái độ nghiêm túc thực hành, Cẩn thận, thao tác nhanh chuẩn xác, tự giác học tập -Thời gian kiểm tra: + Kiến thức: không 150 phút + Kỹ năng: không -Thực theo qui chế thi, kiểm tra công nhận tốt nghiệp dạy nghề hệ qui định 14/2007/BLĐTB&XH ban hành ngày 24/05/2007 Bộ trưởng Bộ LĐ-TB&XH 191 CÁC THUẬT NGỮ CHUYÊN MÔN Số TT 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 Thuật ngữ Abstract Access Accessibility Account Administrator Algorithm API [Application Programming Interface] Application Application domain Argument Arithmetic Array Binary Block Breakpoint Browser Buffer Built-in Cache Caching Class Client Clone [v] CLR [Common Language Runtime] Code Collection Column Command Communication Compare Compatibility Compile Compiler Component Configuration Connection Constant Context Context-sensitive help Control Convert Giải thích Trừu tượng Truy xuất Khả truy xuất Tài khoản Người quản trị Giải thuật Giao diện lập trình ứng dụng Ứng dụng Miền ứng dụng Đối số Số học Mảng Nhị phân Khối Điểm dừng Trình duyệt Bộ đệm Nội Kho chứa (truy xuất nhanh) Cơ chế lưu giữ Lớp Trình khách Sao chép Bộ thực thi ngôn ngữ chung Mã lệnh Tập hợp Cột Lệnh Sự giao tiếp So sánh Tính tương thích Biên dịch Trình biên dịch Thành phần Cấu hình Kết nối Hằng Ngữ cảnh Trợ giúp cảm-ngữ-cảnh Điều kiểm Chuyển đổi 192 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 Custom Data Data binding Kỹ thuật kết liệu Debug Gỡ rối Default Mặc định Deploy Triển khai Device Thiết bị Data binding Kỹ thuật kết liệu Dictionary Digital signature Directive Directory Dispose Distributed Document Domain Edit Editor Encapsulation Encode Encoding Encrypt Encryption Entry Enumeration Environment Error Event Event hander Event log Evidence Exception Exception hander Expiration Export Expression Feature Field File Filter Flag Tùy biến Dữ liệu Database Cơ sở liệu DebuggerTrình gỡ rối Delegate Ủy nhiệm hàm Destructor Phương thức hủy Derive Dẫn xuất Database Cơ sở liệu Từ điển Chữ ký số Chỉ thị Thư mục Hủy Có tính phân tán Tài liệu Miền Hiệu chỉnh Trình soạn thảo Sự đóng gói Mã hóa Phép mã hóa Mật hóa Sự mật hóa Khoản mục Kiểu liệt kê Môi trường Lỗi Sự kiện Phương thức thụ lý kiện Nhật ký kiện Chứng Biệt lệ Phương thức thụ lý biệt lệ Sự hết hiệu lực Xuất Biểu thức Tính Trường Tập tin Bộ lọc Cờ 193 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 Flexibility Form Format FTP [File Transfer Protocol] Function Functionality GAC [Global Assembly Cache] GC [Garbage Collector] Generalization Global Globalization Graphics Group GUI [Graphical User Interface] GUID [Globally Unique Identifier] Handle Hash Hash code Hashtable Help HTML [HyperText Markup Language] Hyperlink IDE [Integrated Development Environment] Identifier Imperson Impersonation Implement Implementation Import Index Indexer Inheritance Initialize Input Insert Install Instance Integration Interface Interoperability IP [Internet Protocol] Item JIT [just-in-time] Key Keyword Language Tính linh hoạt Biểu mẫu Định dạng Giao thức truyền file Hàm Chức Kho chứa gói kết hợp toàn cục Bộ thu gom rác Tính tổng quát hóa Toàn cục Sự toàn cầu hóa Đồ họa Nhóm Giao diện người dùng đồ họa Định danh toàn cục Mục quản Băm Mã băm Bảng băm Trợ giúp Ngôn ngữ đánh dấu siêu văn Siêu kiên kết Môi trường phát triển tích hợp Điện từ Giả nhận Sự giả nhận Hiện thực Bản thực Nhập Chỉ mục Bộ mục Sự thừa kế Khởi tạo Đầu vào / Dữ liệu nhập Chèn Cài đặt Thể Sự tích hợp Giao diện Khả liên tác Giao thức Internet Mục chọn Tức thời / Vừa lúc Khóa Từ khóa Ngôn ngữ 194 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 Length Library Lifetime Link List Literal Load Local Locale Localization Lock Logic Loop Managed Management Mapping Member Membership Memory Menu Message Metacharacter Metadata Method Model Module MSIL [Microsoft Intermediate Language] Multilingual Multithreading Native Namespace Network Node Object Object-oriented programming Operating system Operator Output Overload Override Parameter Password Path Pattern Performance Permission Chiều dài Thư viện Thời gian sống Liên kết Danh sách Trực kiện Nạp Cục Bản địa Sự địa hóa Chốt Mã thi hành chức Vòng lặp Được quản lý Sự quản lý Phép ánh xạ Thành viên Tư cách thành viên Bộ nhớ Trình đơn Thông điệp Siêu ký tự Siêu liệu Phương thức Mô hình Đơn thể Ngôn ngữ trung gian Đa ngôn ngữ Lập trình đa tiểu trình Nguyên sinh Không gian tên Mạng Nút Đối tượng Lập trình hướng đối tượng Hệ điều hành Toán tử Xuất / Kết xuất Bản nạp chồng Chép đè Thông số Mật Đường dẫn Kiểu mẫu Hiệu Quyền 195 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 Pixel Platform Pointer Policy Polymorphisme Pool Pooling POP3 [Post Office Protocol 3] Port Postfix Prefix Private Privilege Procedure Process Processor Project Property Protected Protocol Public Query Queue Random RBS [Role-Based Security] Record Recursion Reference Reflection Register Regular expression Relationship Relative Remotable Resource Reusability Role Routine Row Runtime Schema Script Security Serialize Serializable Serialization Server Điểm ảnh Nền Con trỏ Chính sách Tính đa hình Kho dự trữ Cơ chế dự trữ Giao thức nhận mail Cổng Hậu tố Tiền tố Riêng Đặc quyền Thủ tục Tiến trình Bộ xử lý Dự án Thuộc tính Được bảo vệ Giao thức Công khai Truy vấn Hàng đợi Ngẫu nhiên Bảo mật dựa-trên-vai-trò Bản ghi / Mẩu tin Sự đệ quy Tham chiếu Cơ chế phản chiếu Đăng ký Biểu thức quy Mối quan hệ Tương đối Khả truy xuất từ xa Tài nguyên Khả tái sử dụng Vai trò Thường trình Hàng / Dòng Bộ thực thi Lược đồ / Khuôn Kịch Sự bảo mật Tuần tự hóa Khả hóa Sự hóa Trình chủ 196 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 Service Session Setting Shared Signature SMTP [Simple Mail Transfer Protocol] SOAP [Simple Object Access Protocol] Solution Specialization SQL [Structured Query Language] Stack State State | Stateless Statement Static Stored procedure Stream String Strong name Strong type Strongly-named Strongly-typed Structure Symmetric Synchronization Synchronous System System tray Table Tag Task Template Thread Thread-safe Throw Timestamp Tool Toolbox Transaction Type Type-safe Unmanaged Update URI [Uniform Resource Identifier] URL [Uniform Resource Locator] User Utility Dịch vụ Phiên làm việc Thiết lập Được chia sẻ / Dùng chung Chữ ký Giao thức truyền mail đơn giản Giao thức truy xuất đối tượng đơn giản Giải pháp Tính chuyên hóa Ngôn ngữ truy vấn có cấu trúc Ngăn chồng Trạng thái Có trạng thái | Phi trạng thái Câu lệnh / Khai báo Tĩnh Thủ tục tồn trữ Dòng chảy Chuỗi Tên mạnh Kiểu mạnh Được định tên mạnh Được định kiểu mạnh Cấu trúc Đối xứng Sự đồng hóa Đồng Hệ thống Khay hệ thống Bảng Thẻ Tác vụ Khuôn mẫu Tiểu trình / Mạch trình / Tuyến đoạn An toàn tiểu trình Ném Tem thời gian Công cụ Hộp công cụ Phiên giao dịch Kiểu Antoàn kiểu liệu Không quản lý Cập nhật Bộ nhận dạng tài nguyên đồng dạng Bộ định vị tài nguyên đồng dạng Người dùng Tiện ích 197 269 270 271 272 273 274 275 276 277 278 279 280 Validation Value Variable Version Virtual Visible Visual Wildcard Window Worker Wrapper WSDL [Web Services Description Language] 281 XML [Extensible Markup Language] Sự xác nhận tính hợp lệ Giá trị Biến Phiên Ảo Khả kiến Trực quan Ký tự đại diện Cửa sổ Thợ Vỏ bọc Ngôn ngữ mô tả dịch vụ Web Ngôn ngữ đánh dấu mở rộng 198 TÀI LIỆU THAM KHẢO [1] Nguyễn Văn Lân, Lập Trình Cơ Sở Dữ Liệu Với C# - Mô Hình Nhiều Tầng , Nhà xuất Lao động Xã hội, 2009 [2] Phạm Hữu Khang, Lập trình ứng dụng chuyên nghiệp SQL Server 2000, Nhà xuất Giáo dục, 2002 [3] Phạm Hữu Khang, C# 2008 (tập 1->6), Nhà xuất Lao động Xã hội, 2009 [4] Richard Blum, C# Network Programming, Joel Fugazzotto, 2003 [5] Fiach Reid, Network Programming in NET, Donegal-Ireland, 2004 [6] Website : http: //codeproject.com ... phương pháp lập trình trực quan đời Đặc điểm ngôn ngữ lập trình trực quan dễ sử dụng, triển khai ứng dụng cách nhanh chóng Đặc điểm bật phương pháp lập trình trực quan : - Cho phép xây dựng chương... Đà Nẵng từ năm 2007 đến Nội dung sách gồm bài: thứ giới thiệu tổng quan ngôn ngữ lập trình trực quan; giới thiệu lập trình trực quan với Visual Studio.NET, công cụ mạnh để phát triển phần mềm quản... phiên khác Visual Studio NET 2008, Visual Studio Standard Edition cung cấp giao diện trực quan cho phép bạn thiết lập giao diện cho loại ứng dụng việc kéo thả (drag and drop), xây dựng triển khai