Bài giảng này được xây dựng với mục đích phục vụ nhu cầu học môn Lập trình Windows cho học sinh, sinh viên hệ Cao đẳng, Đại học chuyên ngành Công nghệ thông tin trường Đại học Kinh tế Kỹ thuật Công nghiệp. Bài giảng đề cập đến những nội dung về lập trình Visual Basic.NET căn bản và các kỹ thuật lập trình cơ sở dữ liệu sử dụng ADO.NET. Kết quả cuối cùng là tạo ra các ứng dụng quản lý sử dụng Visual Basic.NET như một công cụ phát triển trên hệ cơ sở dữ liệu SQL Server. Mời các bạn cùng tham khảo để biết thêm các nội dung chi tiết.
MẪU ĐT -BG-01 TRƯỜNG CAO ĐẲNG NGHỀ VIỆT ĐỨC VĨNH PHÚC KHOA CƠNG NGHỆ THƠNG TIN BÀI GIẢNG LẬP TRÌNH WINDOWS Đối tượng: HSSV trình độ Đại học, Cao đẳng Ngành đào tạo: Công nghệ thông tin Lưu hành nội MỤC LỤC MỤC LỤC i LỜI GIỚI THIỆU v Chương 1: TỔNG QUAN VỀ LẬP TRÌNH NET 1.1 Visual Studio.NET NET Framework 1.1.1 Giới thiệu 1.1.2 Cấu trúc NET Framework 1.1.3 Một số đặc trưng Visual Studio NET 1.2 Cài đặt phần mềm Visual Studio 2005 1.2.1 Yêu cầu phần cứng 1.2.2 Cài đặt: 1.3 Visual Basic.NET 10 1.3.1 Các phương pháp lập trình VB.NET 10 1.3.2 Visual Basic.NET 11 1.3.3 Ví dụ - Hello, World 12 1.3.4 Ví dụ - Hello, Windows 15 1.3.5 Ví dụ - Hello, Browser 16 Chương 2: NGƠN NGỮ LẬP TRÌNH VISUAL BASIC NET 18 2.1 Các kiểu liệu đặc điểm 18 2.1.1 Các kiểu liệu 18 2.1.2 Đặc điểm kiểu liệu 19 2.1.3 Biểu diễn giá trị 24 2.2 Biến, 24 2.2.1 Biến tính chất 24 2.2.2 Khai báo khởi tạo giá trị cho biến 25 2.2.3 Xác định phạm vi biến (tầm vực biến) 26 2.2.4 Hằng số ngẫu nhiên 27 2.2.5 Chuyển đổi kiểu liệu 28 2.3 Toán tử 29 2.3.1 Toán tử toán học 29 2.3.2 Toán tử nối chuỗi 29 2.3.3 Toán tử gán 29 2.3.4 Toán tử so sánh 30 2.3.5 Toán tử luận lý bitwise 30 2.4 Các lệnh VB.NET 31 2.4.1 Chú thích cách viết lệnh 31 2.4.2 Nhập/xuất liệu 31 i 2.4.3 Các lệnh rẽ nhánh 36 2.4.4 Câu lệnh lặp 39 2.5 Dữ liệu có cấu trúc 42 2.5.1 Enum 42 2.5.2 Mảng 43 2.5.3 Structure 45 2.6 Xử lý lỗi 46 2.6.1 Phân loại lỗi 46 2.6.2 Xử lý lỗi 46 2.7 Một số thị VB.NET 49 2.7.1 Chỉ thị Option Explicit ON|OFF 49 2.7.2 Chỉ thị #Region … #End Region 49 2.8 Thủ tục (Procedure) 50 2.8.1 Khái niệm 50 2.8.2 Tham số thủ tục 50 2.8.3 Sub Procedure 50 2.8.4 Function Procedure (Hàm) 53 Chương 3: LỚP VÀ ĐỐI TƯỢNG TRONG VB.NET 57 3.1 Tổng quan lập trình hướng đối tượng 57 3.1.1 Tính trừu tượng 58 3.1.2 Tính bao bọc 58 3.1.3 Tính kế thừa 58 3.1.4 Tính đa hình 58 3.2 Lớp đối tượng 59 3.2.1 Khai báo lớp 59 3.2.2 Đối tượng 60 3.2.3 Phương thức 60 3.2.4 Ví dụ thiết kế lớp 60 3.3 Phương thức thiết lập phương thức phá hủy 61 3.3.1 Phương thức thiết lập 61 3.3.2 Phương thức phá hủy 64 3.4 Thuộc tính - Property 64 3.5 Khai báo kiện (Event) 68 3.5.1 Phát sinh kiện 68 3.5.2 Kết hợp kiện với xử lý kiện 69 3.6 Từ khóa Me, Mybase, MyClass 70 3.6.1 Me 70 ii 3.6.2 Mybase 70 3.6.3 MyClass 71 Chương 4: CÁC ĐIỀU KHIỂN NGƯỜI DÙNG 73 4.1 Tạo ứng dụng Windows Form 73 4.1.1 Mở project 73 4.1.2 Thao tác với project 76 4.2 Biểu mẫu - Form 76 4.2.1 Thuộc tính, biến cố phương thức biểu mẫu 77 4.2.2 Thao tác với form ứng dụng 79 4.2.3 Viết code cho biến cố form 79 4.2.4 Form MDI 81 4.3 Label, Textbox, Button 81 4.3.1 Nhãn - Label 81 4.3.2 Ô nhập liệu - Textbox 82 4.3.3 Nút lệnh - Command Button 84 4.4 Check box, Radio Button 86 4.4.1 Hộp kiểm - Check box 86 4.4.2 Nút chọn - Radio button 87 4.4.3 Ví dụ form sử dụng điều khiển check box radio button 87 4.5 Combo box, list box: 90 4.5.1 Danh sách lựa chọn - list box 90 4.5.2 Điều khiển hộp lựa chọn (Combo box) 91 4.5.3 Ví dụ sử dụng list box 92 4.6 Điều khiển cuộn 93 4.7 Menu Toolbar 95 4.7.1 Menu 95 4.7.2 Toolbar 96 Chương 5: PHÁT TRIỂN ỨNG DỤNG CƠ SỞ DỮ LIỆU 103 5.1 Tổng quan ADO.NET 103 5.1.1 Managed Provider 104 5.1.2 Data Storage 104 5.2 Connection 106 5.2.1 Kết nối sử dụng OLEDB 106 5.2.2 Kết nối sử dụng SQLClient 108 5.2.3 Các thuộc tính khác Connection 109 5.2.4 Các phương thức Connection 109 5.2.5 Minh họa tạo Connection 110 iii 5.3 Command 112 5.3.1 Tạo Command 112 5.3.2 Các thuộc tính Command 112 5.3.3 Thực câu lệnh thông qua đối tượng Command 113 5.3.4 Parameter 115 5.4 DataReader 121 5.4.1 Các thuộc tính DataReader 121 5.4.2 Các phương thức DataReader 121 5.4.3 Tạo sử dụng DataReader 122 5.5 DataAdapter 123 5.5.1 Tạo DataAdapter 124 5.5.2 Thuộc tính DataAdapter 126 5.5.3 Chức DataAdapter 126 5.5.3 Sử dụng DataAdapter lấy cấu trúc từ nguồn liệu 129 5.5.4 Tạo lệnh cập nhật cho DataAdapter: 130 5.5.5 Dùng DataAdapter cập nhật thay đổi nguồn liệu 130 5.6 DataSet 131 5.6.1 Tạo DataSet 132 5.6.2 Làm việc với DataSet 132 5.6.3 Ví dụ minh họa làm việc với DataSet 137 5.7 DataTable 146 5.7.1 Các thuộc tính DataTable 146 5.7.2 Một số phương thức DataTable 147 5.7.3 Một số kiện DataTable 149 5.7.4 Cấu trúc bảng - DataColumn 149 5.7.5 DataRow 151 5.7.6 Tập hợp Rows 152 5.8 Tạo báo biểu 163 5.8.1 Crystal Report 163 5.8.2 Hướng dẫn sử dụng report wizart 163 TÀI LIỆU THAM KHẢO 174 iv LỜI GIỚI THIỆU Lập trình ứng dụng mơn học quan trọng sinh viên ngành công nghệ thơng tin Lập trình khơng cơng việc cịn thú vui niềm đam mê Đã có nhiều ngơn ngữ lập trình sinh theo nhu cầu yêu cầu thực tế Và bạn chọn theo sở thích thiên hướng bạn Nhưng thực tế, ngơn ngữ lập trình để sai bảo máy tính, khiến hiểu thực điều chờ đợi Kết phụ thuộc vào cấu trúc ngơn ngữ, vào tảng ngôn ngữ, vào hỗ trợ đặc tính ngơn ngữ; phần quan trọng thuật toán - tư logic trừu tượng người lập trình Hiện có nhiều ngơn ngữ lập trình chun nghiệp sử dụng tốt để lập trình ứng dụng nói Visual Basic.NET cơng cụ lập trình trực quan dễ học Bài giảng xây dựng với mục đích phục vụ nhu cầu học mơn Lập trình Windows cho học sinh, sinh viên hệ Cao đẳng, Đại học chuyên ngành Công nghệ thông tin trường Đại học Kinh tế Kỹ thuật Công nghiệp Bài giảng đề cập đến nội dung lập trình Visual Basic.NET kỹ thuật lập trình sở liệu sử dụng ADO.NET Kết cuối tạo ứng dụng quản lý sử dụng Visual Basic.NET công cụ phát triển hệ sở liệu SQL Server Bài giảng biên soạn theo chương trình đào tạo quy định cách trình bày Nhà trường Nội dung giảng bao gồm chương, chương bao gồm phần nội dung chủ yếu sau: - Mục tiêu chương - Nội dung phần thảo luận - Tóm tắt nội dung cốt lõi - Bài tập thực hành - Hướng dẫn tự học nhà Do thời gian trình độ có hạn nên giảng khó tránh khỏi thiếu sót định Chúng tơi ln mong nhận góp ý bạn đọc để giảng tái hoàn thiện lần sau Xin chân thành cám ơn! Nhóm biên soạn Nhóm sửa chữa Vũ Thị Thu Huyền Lê Kiều Oanh v BỘ CÔNG THƯƠNG CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC KT - KT CÔNG NGHIỆP Độc lập - Tự - Hạnh phúc KHOA CÔNG NGHỆ THÔNG TIN CHƯƠNG TRÌNH TRÌNH ĐỘ ĐẠI HỌC NGÀNH ĐÀO TẠO: CƠNG NGHỆ THÔNG TIN ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN Tên học phần: Lập trình Window Số tín chỉ: 04 Tính chất học phần: Bắt buộc Mã số học phần: Học phần thay thế, tương đương: Không Phân bổ thời gian giảng dạy học kỳ: 4(52,16,6)/ 12 (12 tuÇn thùc häc) - Số tiết thực lên lớp: 68 tiết Lý thuyết: tiết/tuần x tuần + tiết/tuần x tuần =52 tiết = 52 tiết chuẩn Thảo luận, thực hành môn học: 12 tiết/tuần x tuần + tiết/tuần x tuần = 32 tiết = - Số sinh viên tự học: 16 tiết chuẩn 10 giờ/tuần x 12 tuần = 120 Điều kiện học: - Học phần tiên quyết: Cơ sở liệu, SQL Server - Học phần học trước: Không - Học phần song hành: Phân tích thiết kế hệ thống Mô tả vắn tắt nội dung học phần: Học phần trang bị cho sinh viên kiến thức NET Framwork; cú pháp cách sử dụng cấu trúc lệnh ngơn ngữ lập trình Visual Basic NET; cách làm việc với điều khiển Windows, phương pháp kết nối với sở liệu xây dựng ứng dụng sở liệu Mục tiêu học phần: Sau kết thúc học phần sinh viên có kỹ lập trình hệ điều hành Windows; kỹ làm việc với điều khiển để thiết kế hình phải xây dựng chương trình truy xuất sở liệu SQL vi Nội dung chi tiết học phần (6 tiết / tuần) Tài liệu học tập, tham khảo Hình thức học Giảng Giảng 1, 2, 3, Giảng Chương 4: Các điều khiển người dùng 4.1 Tạo ứng dụng Windows Form 4.2 Biểu mẫu - Form 4.3 Label, Textbox, Button 4.4 Check box, Radio Button 4.5 Combo box, list box: 4.6 Điều khiển cuộn 4.7 Menu Toolbar 1, 2, Giảng Thực hành 1, 5, Thực hành Giảng Tuần Nội dung Chương 1: Tổng quan Lập trình NET 1.1 Visual Studio.NET NET Framework 1.2 Cài đặt phần mềm Visual Studio 2005 1.3 Visual Basic.NET Chương 2: Ngơn ngữ lập trình Visual Basic.NET 2.1 Các kiểu liệu đặc điểm 2.2 Biến, 2.3 Toán tử 2.4 Các lệnh VB.NET 2.5 Dữ liệu có cấu trúc 2.6 Xử lý lỗi 2.7 Một số thị VB.NET 2.8 Thủ tục (Procedure) 2,3 5,6 8-10 Chương 3: Lớp đối tượng VB.NET 3.1 Tổng quan lập trình hướng đối tượng 3.2 Lớp đối tượng 3.3 Phương thức thiết lập phương thức phá hủy 3.4 Thuộc tính - Property 3.5 Khai báo kiện (Event) 3.6 Từ khóa Me, Mybase, MyClass Chương 5: Phát triển ứng dụng sở liệu 5.1 Tổng quan ADO.NET 5.2 Connection 5.3 Command 1, 2, 5,6 vii Tuần Nội dung 5.4 DataReader 5.5 DataAdapter 5.6 DataSet 5.7 DataTable 5.8 Tạo báo biểu 11,12 Thực hành, thảo luận, kiểm tra Tài liệu học tập, tham khảo 1, 3, 5, Hình thức học Thực hành, thảo luận 10 Tài liệu học tập: Bài giảng Lập trình Windows - Đại học Kinh tế Kỹ thuật Công nghiệp 11 Tài liệu tham khảo: Tài liệu hướng dẫn giảng dạy Visual Basic.NET - Đại học Khoa học tự nhiên thành phố Hồ Chí Minh, 2006 Kỹ thuật lập trình ứng dụng chuyên nghiệp Visual Basic.NET- Phạm Hữu Khang, 2002 Visual Studio.Net – Nguyễn Ngọc Tuấn, NXB Thống kê 2005 Lập trình Visual Basic.NET (Nhập mơn lập trình) - Đại học Khoa học tự nhiên TP Hồ Chí Minh, 2006 Lập trình Visual Basic.NET (Kỹ thuật lập trình cơng nghệ NET) - Đại học Khoa học tự nhiên TP Hồ Chí Minh, 2006 12 Nhiệm vụ Sinh viên: - Dự lớp đầy đủ, buổi học lý thuyết thực hành, thực tốt nội quy Nhà trường lên lớp - Thực tốt tập, hoàn thành tập thực hành, tích cực tham gia thảo luận theo yêu cầu giáo viên - Phải đọc nghiên cứu trước giảng, tài liệu tham khảo, chuẩn bị ý kiến, đề xuất nghe giảng 13 Tiêu chuẩn đánh giá Sinh viên: - Theo định số 43 / 2007 / QĐ-BGD&ĐT ngày 15 tháng 08 năm 2007 Bộ trưởng Bộ Giáo dục Đào tạo viii - Theo định số 674/QĐ-ĐHKTKTCN ngày 15 tháng 10 năm 2010 Hiệu trưởng Trường Đại học Kinh tế - Kỹ thuật Cơng nghiệp - Hình thức thi kết thúc học phần: Thi thực hành 14 Cán tham gia giảng dạy Là giáo viên hữu, giáo viên kiêm nhiệm, giáo viên thỉnh giảng Khoa, Bộ môn quản lý, phân cơng giảng dạy có đủ điều kiện, tiêu chuẩn, Hiệu trưởng duyệt - Giảng lý thuyết Giảng viên có học vị từ Thạc sỹ trở lên, có kinh nghiệm giảng dạy hướng dẫn thảo luận, Bộ môn phân công - Hướng dẫn làm tập, tập lớn, thảo luận, thực hành mơn học, thí nghiệm, tiểu luận Là giảng viên, giáo viên có học vị từ Cử nhân trở lên, có kinh nghiệm giảng dạy hướng dẫn thảo luận, Bộ môn phân công Đề cương chi tiết thông qua môn làm sở giảng dạy cho lớp hệ đại học ngành Công nghệ thông tin Hà Nội, ngày … tháng … năm 2011 Khoa Tổ môn Người biên soạn ix row.EndEdit() End Sub Private Sub btsave_Click If chedo = "Insert" Then If txtmasp.Text = "" And txttensp.Text = "" And _ txtnhacc.Text = "" And txtdongia.Text = "" Then MsgBox("Phải nhập đủ thông tin") Else Label6.Text = "Saving " Dim row As DataRow = dt1.NewRow row("masp") = txtmasp.Text row("tensp") = txttensp.Text row("nhacc") = txtnhacc.Text row("dongia") = CSng(txtdongia.Text) dt1.Rows.Add(row) End If tongso += chiso = tongso - da1.Update(dst, "sanpham") dst.AcceptChanges() Label6.Text = "Record " & tongso & "/" & tongso End If If chedo = "Delete" Then tongso -= da1.Update(dst, "sanpham") dst.AcceptChanges() End If If chedo = "Edit" Then da1.Update(dst, "sanpham") dst.AcceptChanges() End If End Sub Xử lý việc tìm kiếm Để kiện bàn phím có tác dụng form, ta phải đổi thuộc tính KeyPreview form thành True Bổ sung đoạn lệnh sau vào thủ tục KeyDown form: Dim msp As Int16 If e.KeyCode = Keys.F7 Then If dt1.DataSet Is Nothing Then MsgBox("Chưa nạp liệu") Else msp = InputBox("Nhập mã sản phẩm cần tìm") 160 Dim dongsp As DataRow dongsp = dt1.Rows.Find(msp) If dongsp Is Nothing Then MsgBox("Khơng tìm thấy") Else txtmasp.Text = dongsp("masp") txttensp.Text = dongsp("tensp") txtnhacc.Text = dongsp("nhacc") txtdongia.Text = dongsp("dongia") End If End If End If Ví dụ 5.14 - Sử dụng Binding Navigator để cập nhật liệu bảng sanpham - Bước 1: Thiết kế form gồm label datagridview hình sau: - Bước 2: Kết nối đến sở liệu De1 View/Server Explorer - Bước 3: Bổ sung điều khiển SQLDataAdapter vào form nhập lệnh sau cho hình Select Command: Select * from sanpham - Bước 4: Tạo dataset chức Generated DataSet Đặt tên cho Dataset dst11 161 - Bước 5: Bổ sung điều khiển Binding Source vào form Khai báo thuộc tính DataSource dst11 thuộc tính DataMember sanpham - Bước 6: Kéo điều khiển Binding Navigator vào form (bên label danh mục sản phẩm) Khai báo thuộc tính Binding Source BindingSource1 (tên BindingSource) - Bước 7: Khai báo thuộc tính DataSource lưới BindingSource1 - Bước 7: Bổ sung đoạn lệnh vào thủ tục Load Form (đoạn lệnh đổ liệu từ SQLDataAdapter1 vào dst11) tự động sinh lệnh khác cho SQLDataAdapter1 Dst111.Clear() SqlDataAdapter1.Fill(Dst111, "sanpham") Dim bo_lenh As New SqlClient.SqlCommandBuilder(SqlDataAdapter1) Các lệnh cập nhật cho dataset dataAdapter đưa vào biến cố FormClosed: SqlDataAdapter1.Update(Dst111, "sanpham") Dst111.AcceptChanges() Khi chạy, form thể hình Ta dùng cơng cụ Add New Delete BindongNavigator để thêm xóa ghi; dùng nút Move First, Move Previous, Move Next Move Last để di chuyển trỏ ghi 162 5.8 Tạo báo biểu 5.8.1 Crystal Report Crystal Report phần mềm thiết kế báo biểu chuyên nghiệp tích hợp phiên Visual Studio Phiên Studio NET Microsoft tích hợp Crystal Report 8.5 Bản thân Crystal Report phần mềm tạo báo biểu độc lập với nhiều chức thiết kế báo biểu dịch vụ Người dùng kết nối với nhiều nguồn liệu khác ODBC Driver Báo biểu tạo lưu trữ thành file rpt độc lập, dạng có liệu hay khơng có liệu Sau đó, file rpt chuyển tới người dùng khác mở Crystal Report hay kết hợp với ứng dụng viết Visual Basic, Visual C++ Xét mặt thiết kế báo biểu, Crystal Report cung cấp đầy đủ chức đinh dạng liệu chức phân nhóm, tính tốn, sub – report kể khả lập trình formula dựa fomula field Người dùng việc sử dụng formula field cịn tự xây dựng thư viện hàm riêng đưa vào Crystal Report thông qua DLL Bên cạnh khả thiết kế báo biểu thơng thường, Crystal Report cịn cung cấp chức thiết kế biểu đồ dựa nguồn liệu lấy từ CSDL Xét mặt sử dụng báo biểu, công cụ hiển thị Crystal Report cho phép người dùng tương tác linh hoạt Báo biểu hiển thị lọc lại liệu cần thiết hay xem phần báo biểu cách sử dụng cấu trúc hiển thị liệu dạng Các Section báo biểu mở rộng hay thu hẹp để hiển thị hay che bớt liệu không cần thiết Một báo biểu xây dựng, người dùng cịn Export sang dạng file khác Word, Excel, HTML,… Bằng cách tích hợp Crystal Report 8.5, Visual Studio NET đem lại cho người dùng công cụ xây dựng báo biểu hiệu quả, tiết kiệm nhiều thời gian so với việc phải sử dụng đối tượng in ấn để tự phát sinh báo biểu Chúng ta sử dụng Report Expert để tạo báo biểu dựa vào wizard template định sẵn hay thiết kế chi tiết báo biểu tay Trong giáo trình hướng dẫn cách tạo báo biểu wizard 5.8.2 Hướng dẫn sử dụng report wizart Thiết kế form lọc liệu theo mẫu sau 163 Form cho phép người sử dụng chọn tên nhân viên bán hàng cboten hiển thị thơng tin chi tiết hóa đơn bán hàng nhân viên Khi nhấn nút Report ta xuất liệu form sang report thể hình sau: Phần hiển thị lọc liệu thực thông qua đối tượng dataAdapter đối tượng DataSet hướng dẫn ví dụ trước Bạn tham khảo phần code với da tên DataAdapter dst tên DataSet Form có tên ngầm định form1 'khai báo biến tầm vực đơn thể - biến chung class Dim lenh1 As String = "select banhang.sohd, banhang.ngayban," & _ "banhang.nguoiban, banhang.masp,sanpham.tensp,sanpham.dongia," & _ "banhang.soluong, banhang.thanhtien from banhang,sanpham " & _ " where banhang.masp=sanpham.masp" Dim lenh2 As String Dim da As New SqlClient.SqlDataAdapter(lenh1, Chuoi_ket_noi) Dim dst As New DataSet 164 ' Thủ tục Load form Private Sub Form1_Load dst.Clear() da.Fill(dst, "bangthongke") dg.DataSource = dst dg.DataMember = "bangthongke" Tao_ket_noi() If Ket_noi.State = ConnectionState.Closed Then Ket_noi.Open() Dim comm1 As New SqlClient.SqlCommand _ ("select distinct nguoiban from banhang", Ket_noi) Dim reader1 As SqlClient.SqlDataReader = _ comm1.ExecuteReader(CommandBehavior.CloseConnection) While reader1.Read cboten.Items.Add(reader1.Item(0)) End While reader1.Close() End Sub 'Thủ tục chọn mục cbo_ten Private Sub cboten_SelectedIndexChanged lenh2 = " and banhang.nguoiban='" & cboten.Text & "'" da.SelectCommand.CommandText = lenh1 & lenh2 dst.Clear() da.Fill(dst, "bangthongke") End Sub Vấn đề lại cách xây dựng báo biểu thống kê chi tiết lần bán hàng theo tên nhân viên viết code cho nút Report Hãy thực theo bước sau: - Bước 1: Trong SQL Server tạo thủ tục nhận tên người bán làm tham số trả thơng tin bán hàng nhân viên Thủ tục có tên thongkeBHtheoNV tạo sau: Create proc ThongkeBHtheoNV(@tennb nvarchar(50)) as begin select banhang.sohd, banhang.ngayban,banhang.nguoiban, banhang.masp,sanpham.tensp,sanpham.dongia, banhang.soluong,banhang.thanhtien from sanpham,banhang where banhang.masp=sanpham.masp and 165 banhang.nguoiban=@tennb end Biên dịch thủ tục (nhấn F5) - Bước 2: + Tạo Crystal Report (nhấn phải chuột vào tên project cửa sổ Solution Explorer, chọn Add, chọn Crystal Report) + Đặt tên report rptTK_TheoNV Cửa sổ Crystal Reports Gallery xuất hình Chọn kiểu Standard nhấn OK - Bước 3: Nháy đúp vào mục Create New Connection; chọn OLEDB, chọn Microsoft OLEDB Provider for SQL Server, chọn Next 166 167 + Chọn tên Server tên Database Nhấn Next sang hình 168 + Tìm tên thủ tục ThongkeBHtheoNV danh mục thủ tục nội sở liệu Add sang bảng Selected Table Nhấn Next để tiếp tục + Add toàn trường thủ tục ThongkeBHtheoNV sang cửa sổ bên phải Nhấn Finish để hoàn tất bước Report rptTK_theoNV xuất project - Bước 4: Định dạng lại report hình Section1 phần tiêu đề báo biểu; Section tiêu đề cột bảng (lặp lại hết trang); Section3 phần liệu tương ứng với ghi + Dùng Text Object để đặt label lên báo biểu; Line Object để vẽ đường thẳng; dùng cửa sổ Field Explorer để chèn trường vào báo biểu + Để định dạng nội dung, font chữ, kiểu liệu tiêu đề cột liệu cột, nhấn phải chuột vào đối tượng chọn lệnh cần thiết 169 Thủ thuật: Để gióng hàng (hoặc đặt kích cỡ) cho nhiều đối tượng, bạn chọn chúng nhấn phải chuột chọn Align Size + Để xem trước báo biểu, chọn nút Main Report Preview - Bước 5: Tạo form làm lớp sở cho báo biểu: + Tạo form mới, đặt tên form frmTK_theoNV + Đưa vào form điều khiển CrystalReportViewer Điều khiển có tên ngầm định CrystalReportViewer1 - Bước 6: Viết code cho nút Report chạy thử chương trình Dim myreport As New rptTK_TheoNV myreport.SetDataSource(dst.Tables("bangthongke")) Dim f As New frmTK_TheoNV f.CrystalReportViewer1.ReportSource = myreport f.ShowDialog() NỘI DUNG PHẦN THẢO LUẬN Các phương pháp xây dựng form hiển thị liệu Mơ hình thiết kế form lọc liệu Các phương pháp xây dựng form cập nhật liệu Tính tốn sở liệu Xử lý ràng buộc sở liệu Xử lý trùng khóa sở liệu TÓM TẮT NỘI DUNG CỐT LÕI Trong chương sinh viên cần ý đến nội dung sau: • Tạo module kết nối sở liệu • Hiển thị liệu Data Reader • Hiển thị liệu DataAdapter kết hợp với DataSet, DataTable • Tính tốn, cập nhật liệu đối tượng Command • Tính tốn, cập nhật liệu đối tượng DataSet, DataTable • Cập nhật liệu Binding Navigator • Tạo sử dụng báo biểu 170 BÀI TẬP THỰC HÀNH Tạo sở liệu SQL có tên De1 với cấu trúc bảng liệu sau: SanPham (MaSP int, TenSP nvarchar(50), nvarchar(30), DonGia decimal) BanHang (SoHD int, NgayBan datetime, MaSP int ràng buộc khóa ngoại tham chiếu đến MaSP bảng SanPham, NguoiBan nvarchar(50), SoLuong int, ThanhTien decimal) NhaCC SanPham MaSP (mã sản phẩm TenSP (tên sản phẩm) NhaCC (nhà cung cấp) DonGia (đơn giá) LCD Toshiba 32 inch Toshiba 6690000 LCD Toshiba 40 inch Toshiba 10900000 LCD LG 32 inch LG LCD Sony 40 inch Sony LED Samsung 22 inch Samsung 5290000 14900000 5790000 BanHang SoHD NgayBan (ngày bán) MaSP (mã sản phẩm) Ngươiban (người bán) SoLuong (số lượng) '2/1/2011' An 2 '2/1/2011' Bình 3 '2/1/2011' Vân '2/3/2011' Bình '3/1/2011' An '3/1/2011' An '3/2/2011' Vân '4/1/2011' Vân '4/1/2011' An 10 '4/1/2011' An 11 '4/1/2011' Bình 12 '4/1/2011' Vân ThanhTien (thành tiền) Tạo project Trên tạo module viết thủ tục Tao_Ket_noi với sở liệu De1 (xem mẫu ví dụ 5.2b) Tạo form theo mẫu Form cho phép nhập tên nhân viên bán hàng thống kê số lần bán hàng, tổng số tiền bán hàng (xem mẫu ví dụ 5.3, 5.4) 171 Thiết kế form theo mẫu ví dụ 5.5 Tạo thủ tục thongkenv thêm vào project form theo ví dụ 5.6 Bổ sung form thiết kế theo mẫu ví dụ 5.7 Tạo form hiển thị bảng kê chi tiết bán hàng (xem mẫu ví dụ 5.8a 5.8b) Bổ sung thêm form tương ứng với mẫu ví dụ 5.9, 5.10, 5.11, 5.12, 5.13, 5.14 Thêm form MDI có tên frmChinh vào project Thiết kế menu cho form Các mục chọn menu cho phép gọi form tương ứng project - Thống kê, tính tốn: + Ví dụ 5.4 + Ví dụ 5.5 + Ví dụ 5.6 172 - Hiển thị liệu + Ví dụ 5.7 + Ví dụ 5.8 + Ví dụ 5.9 + Ví dụ 5.9 b - Dùng Server Explorer để kết nối CSDL - Lọc liệu - Ví dụ 5.10 - Cập nhật liệu + Thêm ghi - Ví dụ 5.11 + Xóa ghi - Ví dụ 5.12 + Cập nhật chung - Ví dụ 5.13 + Binding Navigator - Ví dụ 5.14 10 Bổ sung vào sở liệu bảng NguoiSD với hai trường UserName Pass Nhập liệu cho ghi Thiết kế form đăng nhập cho hệ thống mẫu sau Form cho phép người sử dụng nhập tên password Khi bấm nút Đăng nhập, tên password sai đưa thông báo lỗi, với tên password lưu sở liệu chuyển đến làm việc với form frmChinh tạo câu 173 TÀI LIỆU THAM KHẢO Tiếng Việt Trung tâm tin học Đại học Khoa học tự nhiên thành phố Hồ Chí Minh (2006), Tài liệu hướng dẫn giảng dạy chương trình kỹ thuật viên ngành lập trình Học phần Visual Basic.NET Nguồn ebook SachVBNET.pdf (3-1-2011), Giáo trình Lập trình hướng đối tượng với VB.NET Nguyễn Ngọc Tuấn (2005), Visual Studio.Net , Nhà xuất Thống kê Website http://www.thayphet.net (2011) Tiếng Anh Dave Grundgeiger (2002), Programming Visual Basic NET, Publisher: O'Reilly Nguồn ebook dotnet tutorial for beginner.pdf (3-1-2011), India Community Initiative, NET Tutorial for Beginners Nguồn ebook 2878ch06.pdf (4-2011), Mastering™ Visual Basic® NET Chapter 6: A First Look at ADO.NET , Evangelos Petroutsos; Asli Bilgin, Copyright © 2002 SYBEX Inc The National Department of Education (2008), Introduction to VB.NET Manual 174 ... logic trừu tượng người lập trình Hiện có nhiều ngơn ngữ lập trình chun nghiệp sử dụng tốt để lập trình ứng dụng nói Visual Basic.NET cơng cụ lập trình trực quan dễ học Bài giảng xây dựng với mục... v BỘ CÔNG THƯƠNG CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC KT - KT CÔNG NGHIỆP Độc lập - Tự - Hạnh phúc KHOA CƠNG NGHỆ THƠNG TIN CHƯƠNG TRÌNH TRÌNH ĐỘ ĐẠI HỌC NGÀNH ĐÀO TẠO: CƠNG NGHỆ... trình bày Nhà trường Nội dung giảng bao gồm chương, chương bao gồm phần nội dung chủ yếu sau: - Mục tiêu chương - Nội dung phần thảo luận - Tóm tắt nội dung cốt lõi - Bài tập thực hành - Hướng dẫn