m co MICROSOFT NET (C#) ww w Be en PROFESSIONAL PROGRAMMING FOR REAL LIFE Trung tâm đào tạo CNTT chất lượng cao CỔNG CNTT VIỆT NAM WWW.ITGATEVN.COM.VN LỜI NGỎ m Tồn tập giáo trình kết cô đọng kiến thức cần thiết giúp bạn làm chủ tảng NET cho công việc Chúng đúc kết kinh nghiệm thực tế, rút gọn điềm cần lưu ý, kỹ thuật mà hầu hết công ty phần mềm phát triển ứng dụng tảng NET yêu cầu thực Hơn cịn tài liệu mà bạn sử dụng để ôn tập lại kiến thức sau lên lớp đặc biệt công việc bạn .co Xuất thân từ nhà phát triển, chun gia phân tích hệ thống, tơi gói kiến thức cốt lõi cần thiết lập trình cơng nghệ NET vào tài liệu Những ví dụ tài liệu ví dụ thực tế tơi trích lọc từ dự án mà đồng thực suốt thời gian tham gia làm việc tài nhiều công ty phần mềm lớn, tình cụ thể mà gặp phải, tổng kết lại để giới thiệu đến bạn chia sẻ kinh nghiệm Sau thời gian làm việc hoạt động mạng thông tin Việt Nam www.itgatevn.com.vn - có nhiều người bạn làm việc công ty tin học nước bạn bè mạng gởi email, hỏi đáp yêu cầu viết tài liệu đầy đủ lập trình NET, chia sẻ kinh nghiệm thực tế công việc để người tham khảo, phải ngắn gọn thật thực tế lại phải chuyên sâu thể kỹ thuật cao lập trình Tơi nghĩ u cầu đó, định viết tài liệu vào buổi tối sau làm việc Đây quà đáp lại tín nhiệm, yêu mến mà bạn đã, dành cho en Tôi mong nhận nhiều ý kiến đóng góp bạn cho tài liệu này, tổng hợp lại để cập nhật cho tài liệu tốt w Be Tôi mong tài liệu đồng hành bạn công việc Tác giả ww Phạm Tuấn Anh PROFESSIONAL PROGRAMMING FOR REAL LIFE Phạm Tuấn Anh - Cổng CNTT Việt Nam BẢN QUYỀN TÁC GIẢ m Tài liệu Phạm Tuấn Anh thực nhằm phục vụ mục đích đào tạo nhân lực chương trình đào tạo cơng nghệ NET Cổng Công nghệ thông tin Việt Nam thực hiện, lưu hành nội phạm vi không gian đào tạo chương trình .co Tài liệu xây dựng từ kiến thức kinh nghiệm có thời gian dài hoạt động ông Phạm Tuấn Anh, có tham khảo số tài liệu nước ngồi liệt kê mục THAM KHẢO cuối tài liệu Mọi chép, lưu, xuất bản, chuyển giao không cho phép ông Phạm Tuấn Anh không hợp pháp ww w Be en Phạm Tuấn Anh Tác giả PROFESSIONAL PROGRAMMING FOR REAL LIFE Phạm Tuấn Anh - Cổng CNTT Việt Nam MỤC LỤC LẬP TRÌNH NET (C#) m Cấu trúc lập trình C# Ứng dụng “C# Hello World” Tiếp cận C# - 10 Khai báo biến C# 11 Kiểu liệu C# 11 Input/Output C# .11 Cấu trúc điều khiển lập trình C# 12 co Cấu trúc if 12 Cấu trúc switch … case 12 Cấu trúc vòng lặp lập trình C# 13 Vịng Vịng Vịng Vòng lặp lặp lặp lặp While for foreach 13 14 14 15 Arrays - Mảng C# 15 Chúng ta học .15 Bài tập tự thực 16 Hiện thực khái niệm hướng đối tượng (OOP) C# 17 Lớp (class) C# 18 Class 18 Đối tượng (Objects) 18 Ưu điểm việc sử dụng Class Đối tượng 18 Hàm tạo (Constructors) hàm hủy (Destructors) C# 18 en Constructors 18 Destructors 19 Fuction Overloading 19 Thừa kế C# 20 Overriding, Polymorphism C# 21 Overriding 21 Polymorphism 23 w Be Abstract Class C# .24 Namespaces 24 Khái niệm Namespace 24 Khai báo Namespace 24 Enumerator C# 25 BÀI TẬP CÓ HƯỚNG DẪN 26 CƠ SỞ DỮ LIỆU 27 Thao tác với hệ quản trị liệu MSSQL Server .28 Khởi tạo hệ sở liệu Tạo bảng Truy vấn liệu từ bảng Truy vấn liệu có điều kiện Truy vấn liệu từ nhiều bảng Thêm liệu vào bảng Cập nhật liệu bảng Xóa liệu từ bảng 28 28 28 29 29 31 31 31 ww LẬP TRÌNH DÀNH CHO CÔNG VIỆC 33 ADO.NET thao tác với sở liệu - 34 Giới thiệu ADO.NET .35 Mơ hình ADO.NET .35 Data Provider Kết nối Data Adapter Thuộc tính phương thức Data Adapter Data Command Data Reader PROFESSIONAL PROGRAMMING FOR REAL LIFE Phạm Tuấn Anh - Cổng CNTT Việt Nam 36 36 36 37 37 37 DataSet 38 BÀI TẬP CÓ HƯỚNG DẪN 39 BÀI TẬP TỰ RÈN LUYỆN 39 Data Binding 40 m Khái niệm Data Binding 40 Thực Data Binding thông qua câu lệnh truy vấn 40 Lọc xếp liệu 40 Lọc Dataset 40 Sử dụng câu lệnh SQL có tham số 40 Thêm, cập nhật, xóa liệu sở liệu .41 co Thêm liệu vào sở liệu 41 Cập nhật, xóa liệu sở liệu 42 Xây dựng lớp CSDL dùng chung 43 Xây dựng lớp giao tiếp với CSDL - DBClass 43 Sử dụng lớp giao tiếp với CSDL - DBClass 46 Xây dựng Ứng dụng Windows Form 47 Xây dựng Windows Forms 47 Visual Studio NET Integrated Development Environment (IDE) 47 Tạo dự án Visual Studio Net 47 Window Form Controls 51 en Windows Form Thuộc tính Windows Form Sự kiện Windows Form TextBox Control Label Control LinkLabel Control ListBox Control ComboBox Control CheckBox Control RadioButton Control GroupBox Control Button Control 51 52 52 53 53 54 54 56 56 57 57 57 Tạo control động Windows Form 57 Sử dụng lớp thừa kế CommonDialog 57 w Be Lớp ColorDialog 57 Lớp FontDialog 59 Làm việc với Menus xây dựng ứng dụng MDI 60 Xây dựng ứng dụng MDI .62 Bài tập có hướng dẫn 63 Bài tập tự luyện 63 Quản lý lỗi lập trình C# 64 Xây dựng hệ thống ứng dụng tảng Web - ASP.NET 66 Xây dựng ứng dụng Hello ASP.NET sử dụng Visual Studio NET IDE 66 Sự kiện Page_Load() 71 Các đối tượng ASP.NET .72 Đối tượng Request 72 Đối tượng Response 73 Đối tượng Session 73 Xây dựng ứng dụng Web sử dụng Server Controls .74 ww Server Controls HTML Server Controls HtmlAnchor HtmlInputText HtmlInputCheckBox HtmlInputRadioButton HtmlSelect Control 74 74 75 75 76 76 76 Web Server Controls 76 TextBox Control Literal Control FileUpload Control Panel Control PROFESSIONAL PROGRAMMING FOR REAL LIFE Phạm Tuấn Anh - Cổng CNTT Việt Nam 77 77 77 78 co m Tải file hình vào sở liệu Khi người dùng nhấn vào nút Upload, kiện btupload_Click gọi Bạn copy đoạn mã lệnh sau vào kiện btupload_Click w Be en protected void btupload_Click(object sender, EventArgs e) { // tạo đối tượng Stream System.IO.Stream img_strm = fileimage.PostedFile.InputStream; // nhận kích thước hình int img_len = fileimage.PostedFile.ContentLength; // nhận kiểu hình string strType = fileimage.PostedFile.ContentType; string strName = txtname.Text; // tạo mảng kiểu byte file upload byte[] imgData = new byte[img_len]; int n = img_strm.Read(imgData, 0, img_len); int result = SaveToDB(strName, imgData, strType); } // Hàm SaveToDB() int SaveToDB(string imgName, byte[] imgbin, string imgcontenttype) { OleDbConnection = new OleDbConnection("Provider=SQLOLEDB;server=(local);database=_NET;uid=_net;pwd="); OleDbCommand cmd = new OleDbCommand("INSERT INTO _image values(?,?,?)", con); ww OleDbParameter param0 = new OleDbParameter("@imgName",OleDbType.VarWChar, 30); param0.Value = imgName; cmd.Parameters.Add(param0); OleDbParameter param1 = new OleDbParameter("@imgName", OleDbType.Binary); param1.Value = imgbin; cmd.Parameters.Add(param1); OleDbParameter param2 = new OleDbParameter("@imgType", OleDbType.VarWChar, 30); PROFESSIONAL PROGRAMMING FOR REAL LIFE Phạm Tuấn Anh - Cổng CNTT Việt Nam 122 param2.Value = imgcontenttype; cmd.Parameters.Add(param2); con.Open(); int numofwsAffected = cmd.ExecuteNonQuery(); m con.Close(); return numofwsAffected; } ww w Be en co Và bây giờ, file hình lưu trữ sở liệu bạn THAM KHẢO Các bạn tham khảo thêm kiến thức số địa sau - Thư viện viết công nghệ ITGATEVN - http://www.itgatevn.com.vn/articles/ Thư viện MSDN: http://msdn.microsoft.com PROFESSIONAL PROGRAMMING FOR REAL LIFE Phạm Tuấn Anh - Cổng CNTT Việt Nam 123