BÀI GIẢNG CÔNG NGHỆ THÔNG TIN TRONG XÂY DỰNG F1 PHẦN I : CƠ SỞ DỮ LIỆU .................................................................................................. 4 Chương 1. TỔNG QUAN Chương 2. CẤU TRÚC DỮ LIỆU Chương Chương 3. CƠ SỞ DỮ LIỆU Chương 4. NGÔN NGỮ TRUY VẤN SQL PHẦN II : LẬP TRÌNH WEB ............................................................................................... 65 Chương 1. TỔNG QUAN VỀ ASP.NET Chương 2. WEB SERVER CONTROL Chương 3. CÁC ĐIỀU KHIỂN LIÊN KẾT DỮ LIỆU
BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” PHẦN I : CƠ SỞ DỮ LIỆU Chương TỔNG QUAN 1.1 Định nghĩa sở liệu 1.2 Đặc trưng CSDL 1.2.1 1.2.2 1.2.3 Ưu điểm CSDL Yêu cầu CSDL Các đối tượng sử dụng CSDL 1.3 Quá trình hình thành khai thác hệ thống sở liệu 1.4 Định nghĩa hệ quản trị sở liệu 1.5 Định nghĩa mô hình liệu Chương CẤU TRÚC DỮ LIỆU 10 2.1 Mô hình mạng lưới .10 2.2 Mô hình phân cấp 11 2.3 Mô hình thực thể - liên hệ 12 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.4 Thực thể (Entity) .12 Thuộc tính (Attribute) .12 Định danh 13 Các mối liên hệ 13 Lược đồ thực thể liên hệ (E/R Diagram) .14 Ví dụ lược đồ thực thể liên hệ .15 Mô hình sở liệu quan hệ .15 2.4.1 2.4.2 2.4.3 2.4.4 Trường liệu (thuộc tính) .15 Phụ thuộc hàm 16 Mối liên hệ 16 Chuyển mô hình thực thể - liên hệ sang mô hình quan hệ 18 2.5 Mô hình hướng đối tượng 20 2.6 Mô hình liệu phân tán 20 2.6.1 2.6.2 Chương Các đặc trưng kiến trúc khách-chủ: 23 Các thành phần ứng dụng khách-chủ điển hình 24 CƠ SỞ DỮ LIỆU 25 3.1 Định nghĩa sở liệu quan hệ 25 3.2 Quá trình chuẩn hóa bảng CSDL quan hệ 25 3.2.1 3.2.2 3.2.3 3.3 Ví dụ bảng liệu chưa chuẩn hoá 25 Mục đích chuẩn hoá 26 Ví dụ bảng liệu chuẩn hoá 26 Khoá bảng liệu 28 3.3.1 3.3.2 3.3.3 Khoá tuyển (Candidate Key) 28 Khoá (Primary Key) 29 Khoá ngoại (Foreign Key) 30 3.4 Ràng buộc liệu phụ thuộc hàm 31 3.5 Định nghĩa dạng chuẩn 32 3.5.1 3.5.2 3.5.3 3.5.4 3.6 Bảng chuẩn .32 Dạng chuẩn (First - Normal Form) 33 Dạng chuẩn (Second - Normal Form) 34 Dạng chuẩn (Third - Normal Form) 35 Một số quy tắc chuẩn hoá cho bảng CSDL quan hệ .35 Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” 3.6.1 3.6.2 3.7 Đưa bảng có dạng chuẩn bảng có dạng chuẩn cao .35 Đưa bảng có dạng chuẩn bảng có dạng chuẩn cao .38 Thiết kế chi tiết bảng CSDL 39 3.7.1 Các kiểu liệu .39 3.8 Tạo sửa đổi cấu trúc bảng 43 3.9 Tạo quan hệ hai bảng liệu (Relationship) 43 Chương NGÔN NGỮ TRUY VẤN SQL 44 4.1 Quá trình hình thành phát triển SQL 44 4.2 Công dụng SQL .44 4.3 Các nhóm lệnh SQL 45 4.3.1 4.3.2 4.3.3 4.4 Ngôn ngữ định nghĩa liệu DDL(Data Definition Language) .45 Ngôn ngữ thao tác liệu DML (Data Manipulation Language) 45 Ngôn ngữ truy vấn liệu (Structure Query Language : SQL) .46 Một số câu lệnh SQL phổ biến 46 4.4.1 4.4.2 4.4.3 4.4.4 Nhóm lệnh định nghĩa liệu DDL 46 Thay đổi cấu trúc bảng 48 Nhóm lệnh thao tác liệu DML .49 Nhóm lệnh truy vấn liệu SQL 51 PHẦN II : LẬP TRÌNH WEB 65 Chương 1.1 Tổng quan lập trình ứng dụng Web 66 1.1.1 1.1.2 1.1.3 1.2 Tìm hiểu Net Phatform 69 Tìm hiểu Net Framework .69 Tìm hiểu ASP.Net 73 Những ưu điểm ASP.Net .74 Quá trình xử lý tập tin ASPX .75 Web Server 75 1.3.1 1.3.2 1.3.3 1.4 HTTP (Hypertext Transfer Protocol) 66 HTML (Hypertext Markup Language) 66 Các mô hình ứng dụng 67 Giới thiệu ASP.Net 69 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3 TỔNG QUAN VỀ ASP.NET 66 Internet Information Services 76 Cài đặt Web Server 76 Tạo ứng dụng web IIS 79 Tạo ứng dụng Web .80 1.4.1 1.4.2 1.4.3 Chương Khởi động MS Visual Studio Net .80 Phân loại tập tin ASP.Net 81 Các thành phần giao diện VS Net .82 WEB SERVER CONTROL 87 2.1 HTML Control 87 2.2 ASP.Net Web Control 88 2.2.1 2.2.2 Chương 3.1 Asp.Net Page .88 Điều khiển .90 CÁC ĐIỀU KHIỂN LIÊN KẾT DỮ LIỆU 108 Điều khiển DataGrid 108 3.1.1 3.1.2 Tạo đối tượng GridView 108 Các thuộc tính cột thuộc tính 108 Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” 3.1.3 3.1.4 3.2 Gán nguồn liệu cho GridView sử dụng Dataset 112 Tạo tùy biến cột GridView 118 Điều khiển DataList .135 Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” PHẦN I : CƠ SỞ DỮ LIỆU Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” Chương 1.1 TỔNG QUAN Định nghĩa sở liệu Cơ sở liệu (viết tắt CSDL; tiếng Anh database) tập hợp thông tin có cấu trúc lưu thiết bị lưu trữ nhưđĩa hay băng từ Cơ sở liệu hệ thống thông tin có cấu trúc lưu trữ thiết bị lưu trữ thông tin thứ cấp (như băng từ, đĩa từ, ) để thỏa mãn yêu cầu khai thác thông tin đồng thời nhiều người sử dụng hay nhiều chương trình ứng dụng với nhiều mục đích khác Ví dụ : Để quản lý công trình đường (QLCTD) người ta cần lưu trữ thông tin công trình đường dạng sở liệu có cấu trúc sau: CÔNG TRÌNH CHỦ ĐẦU TƯ ĐVTVTK ĐVTC MÃ Mã công trình Mã chủ ĐT Mã ĐVTVTK Mã ĐVTC Mã công trình Tên công trình Tên chủ ĐT Tên ĐVTK Tên ĐVTC Mã chủ ĐT Vị trí XD CQ chủ quản CQ chủ quản CQ chủ quản Mã ĐVTVTK Ngày khởi công Địa Địa Địa Mã ĐVTC Ngày hoàn thành Điên thoại Điên thoại Điên thoại Chiều dài tuyến Vận tốc thiết kế 1.2 Đặc trưng CSDL Cơ sở liệu phải tập hợp thông tin mang tính hệ thống có mối quan hệ với nhau, có cấu trúc có khả đáp ứng nhu cầu khai thác nhiều người sử dụng thời gian 1.2.1 Ưu điểm CSDL Ít trùng lặp thông tin, bảo đảm tính quán toàn vẹn liệu Có thể truy xuất liệu theo nhiều cách khác Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” Có khả chia sẻ thông tin cho nhiều người sử dụng nhiều ứng dụng khác 1.2.2 Yêu cầu CSDL Tính chủ quyền liệu Do tính chia sẻ thông tin CSDL nên tính chủ quyền liệu bị lu mờ, thể vấn đề an toàn liệu, khả biểu diễn mối liên hệ liệu tính xác liệu Do người khai thác CSDL phải có nghĩa vụ cập nhật thông tin cho CSDL Tính bảo mật khai thác thông tin người sử dụng Do có nhiều người phép khai thác CSDL đồng thời nên cần phải có chế bảo mật phân quyền hạn khai thác CSDL Các hệ điều hành nhiều người sử dụng hay hệ điều hành mạng cục (Novell Netware, Windows Server, WinNT, ) cung cấp chế Tránh tranh chấp liệu Nhiều người phép truy nhập vào tài nguyên liệu (Data Source) CSDL với mục đích khác nhau: xem, thêm, xóa sửa liệu Cần phải có chế độ ưu tiên truy nhập liệu chế độ giải tình trạng khóa chết (DeadLock) trình khai thác cạnh tranh Cơ chế ưu tiên thực việc cấp quyền hạn ưu tiên cao ưu tiên truy nhập liệu trước : theo loại truy nhập - quyền đọc ưu tiên truy nhập liệu trước quyền ghi liệu, dựa thời điểm truy nhập - có yêu cầu truy xuất trước có quyền truy nhập liệu trước theo chế lập lịch truy xuất hay chế khóa Đảm bảo liệu có cố Việc quản lý liệu tập trung làm tăng khả mát sai lệch thông tin có cố điện đột xuất, phần đĩa lưu trữ CSDL bị hỏng v.v Một số hệ điều hành mạng có cung cấp dịch vụ lưu đĩa cứng, tự động kiểm tra khắc phục lỗi có cố Tuy nhiên, bên cạnh dịch vụ hệ điều hành, để đảm bảo CSDL ổn định, sở liệu thiết phải có chế khôi phục liệu cố bất ngờ gây 1.2.3 Các đối tượng sử dụng CSDL Những người sử dụng CSDL không chuyên lĩnh vực tin học CSDL Thường sử dụng thông qua công cụ khai thác CSDL như: hệ quản trị CSDL Các chuyên viên tin học biết khai thác CSDL Những người xây dựng ứng dụng khác phục vụ cho mục đích khác CSDL Những người quản trị CSDL, người hiểu biết tin học, hệ quản trị CSDL hệ thống máy tính Họ người tổ chức CSDL (khai báo cấu trúc CSDL, ghi nhận yêu cầu bảo mật cho liệu cần bảo vệ ) họ phải nắm rõ vấn đề kỹ thuật CSDL để phục hồi liệu có cố Họ người cấp quyền hạn khai thác CSDL, họ giải vấn đề tranh chấp liệu Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” 1.3 Quá trình hình thành khai thác hệ thống sở liệu Quá trình hình thành khai thác sở liệu mô tả theo trình tự sau: Trước hết, cần thiết phải xây dựng sở liệu xuất phát từ yêu cầu thực tế Các vấn đề thực tế cần mô tả liệu phù hợp Các liệu phải tổ chức với thành phần tương ứng với vấn đề Đồng thời thành phần phải có liên hệ nhằm mô liên hệ đối tượng thực Việc tổ chức thành phần liệu, quan hệ thành phần cho ta khái niệm cấu trúc CSDL Cấu trúc gồm mô hình liệu lược đồ phản ánh mô hình Như hình thành cấu trúc CSDL kết trình trừu tượng hóa liệu (mô liệu ứng với đối tượng thực, không gian thực, vấn đề thực) Cấu trúc CSDL giống thiết kế CSDL Tiếp theo CSDL xây dựng theo cấu trúc tạo đảm bảo chức năng, yêu cầu trước thiết kế Sau CSDL xây dựng, thao tác từ phía người sử dụng thực thông qua ứng dụng với biểu mẫu, báo cáo Người dùng chuyển thông điệp (yêu cầu thực lệnh) giao diện Các thông điệp thực nhờ máy sở liệu Để sở liệu khai thác tốt, cần thiết kế tốt, sau trình vận hành cần có quản trị thông tin tốt từ phía người quản trị (người quản trị dạng người sử dụng đặc biệt: bổ sung thông tin cho sở liệu, chỉnh sửa thông tin sai sót, xoá thông tin cần, bảo trì sở liệu khắc phục cố sở liệu) Ngày nay, để hỗ trợ cho công việc này, người quản trị sử dụng hệ quản trị sở liệu Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” Ứng dụng quản trị thông tin Bộ máy CSDL Làm việc với CSDL Ứng dụng khai thác thông tin Xây dựng CSDL Cơ sở liệu Mô hình liệu phản ánh đối tượng, vấn đề thực tế Quá trình trừu tượng hoá Lược đồ liệu – triển khai mô hình liệu vào CSDL Không qian thực, vấn đề thực, đối tượng thực 1.4 Định nghĩa hệ quản trị sở liệu Hệ quản trị sở liệu (tiếng Anh: Database Management System - DBMS), phần mềm hay hệ thống thiết kế để quản trị sở liệu Cụ thể, chương trình Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” thuộc loại hỗ trợ khả tạo, lưu trữ, sửa chữa, xóa tìm kiếm thông tin sở liệu (CSDL) Có nhiều loại hệ quản trị CSDL khác nhau: từ phần mềm nhỏ chạy máy tính cá nhân hệ quản trị phức tạp chạy nhiều siêu máy tính Tiêu biểu ORACLE, MS ACCESS, SQL SERVER, FOXPRO… Ví dụ : Hệ quản trị CSDL SQL Server sau: 1.5 Định nghĩa mô hình liệu Mô hình liệu trừu tượng hóa môi trường thực, biểu diễn liệu mức quan niệm Mô hình liệu gồm có phần mô tả phương pháp để lưu trữ lấy liệu Thông thường xây dựng thuật toán khái niệm Việc phân tích thiết kế mô hình liệu quan trọng việc phát triển sở liệu Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” Chương CẤU TRÚC DỮ LIỆU Mỗi loại mô hình liệu đặc trưng cho cách tiếp cận liệu khác nhà phân tích - thiết kế CSDL, loại có ưu điểm mặt hạn chế có mô hình liệu trội nhiều người quan tâm nghiên cứu Cho đến có nhiều mô hình liệu đời : mô hình liệu mạng lưới (Network Data Model), mô hình liệu phân cấp (Hierachical Data Model), mô hình liệu thực thể - liên hệ (Entity - Relationship Data Model), mô hình liệu quan hệ (Relationship Data Model), mô hình hướng đối tượng, mô hình liệu phân tán… 2.1 Mô hình mạng lưới Mô hình liệu mạng lưới - gọi tắt mô hình mạng mô hình lưới mô hình biểu diễn đồ thị có hướng Trong mô hình người ta đưa vào khái niệm: mẫu tin hay ghi (Record), loại mẫu tin (Record Type) loại liên hệ (Set Type): Loại mẫu tin (Record Type) mẫu đặc trưng cho loại đối tượng riêng biệt Ví dụ : Trong việc quản lý vật liệu công trình, đối tượng cần phản ánh giới thực xi măng, cát, đá, cốt thép, cần có loại mẫu tin đặc trưng cho đối tượng Trong đồ thị biểu diễn mô hình mạng loại mẫu tin biểu diễn hình chữ nhật, thể (Instance) loại mẫu tin gọi ghi (Record) Loại liên hệ (Set Type) liên kết loại mẫu tin chủ với loại mẫu tin thành viên Trong đồ thị biểu diễn mô hình mạng loại liên hệ biểu diễn hình bầu dục (oval) liên kết loại mẫu tin thể cung có hướng (các mũi tên) từ loại mẫu tin chủ tới loại liên hệ từ loại liên hệ tới loại mẫu tin thành viên ĐVTC ĐVTC Mẫu tin chủ Loại liên hệ Công trình Công trình Công trình Công trình Mẫu tin thành viên Có loại liên hệ sau: Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ 10 BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” Ngoài chọn kiểu hiển thị cho DetailsView cách chọn AutoFormat DetailsView Tasks Kết chạy chương trình : Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ 128 BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” GridView sau chèn thêm cột HyperLinkField DetailsView hiển thị thông tin chi tiết sinh viên Cũng giống GridView ta thay dùng Edit Field để chỉnh sửa lại kiểu hiển thị giới tính hay ảnh Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ 129 BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” 3.1.4.4 Thêm Tạo xử lý cột Select, Insert, Edit, Update, Delete… cột Select, Insert, Edit, Update, Delete… GridView không hiển thị bảng liệu mà hỗ trợ tốt việc chỉnh sửa xóa liệu Đặc biệt nguồn liệu SqlDataSource Để bật tính này, cần bổ sung thêm thuộc tính vào GridView với giá trị true sau : Giả sử chọn Show hai nút Edit Delete, kết sau: Lưu ý : Có thể sửa đổi tên mặc định nút Edit, Delete, Update, Cancel… thành Sửa, Xóa, Cập nhật, Bỏ qua… cách thay đổi trường Text Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ 130 BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” Kết : “Sửa” liệu : Khi kích vào nút “Sửa”, sửa đổi thông tin sinh viên “Cập nhật” thông tin Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ 131 BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” Sau kích vào “Cập nhật” thông tin sửa đổi tự động cập nhật Gridview Để có kết phải viết mã lệnh cho hai kiện “RowEditing” “RowUpdating” sau : protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex; DataBind(); } protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex]; String MaSV = GridView1.DataKeys[e.RowIndex].Value.ToString(); String TenSV = ((TextBox)row.Cells[1].Controls[0]).Text; String GioiTinh = (((DropDownList)GridView1.Rows[e.RowIndex] FindControl("drlGT")).SelectedItem).ToString(); int Tuoi = int.Parse(((TextBox)row.Cells[3].Controls[0]).Text); String Email = ((TextBox)row.Cells[4].Controls[0]).Text; String QueQuan = ((TextBox)row.Cells[5].Controls[0]).Text; String Anh = ((TextBox)row.Cells[6].Controls[0]).Text; dsQLSVTableAdapters.SinhVienTableAdapter sinhvienTA = new dsQLSVTableAdapters.SinhVienTableAdapter(); sinhvienTA.UpdateSinhVien(MaSV,Anh,TenSV,GioiTinh, Tuoi,Email,QueQuan); } Trong : ▪ DataBind() hàm dùng để gán liệu lên GridView ▪ Rows[e.RowIndex] : dòng chọn ▪ UpdateSinhVien() hàm để cập nhật liệu cho sinh viên viết sẵn dataset sau : Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ 132 BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” “Xóa” liệu Để xóa liệu phải viết mã lệnh cho kiện “RowDeleting” sau : protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { String MaSV = GridView1.DataKeys[e.RowIndex].Value.ToString(); dsQLSVTableAdapters.SinhVienTableAdapter sinhvienTA = new dsQLSVTableAdapters.SinhVienTableAdapter(); sinhvienTA.DeleteSinhVien(MaSV); } Trong hàm DeleteSinhVien() hàm để xóa sinh viên viết sẵn Dataset Vì trường MaSV bảng SinhVien khóa ngoại bảng SV_Lop nên để xóa sinh viên, MaSV có bảng SV_Lop phải xóa thông tin sinh viê bảng SV_Lop trước, sau xóa bảng SinhVien Do câu lệnh Dataset bao gồm hai câu lệnh delete xóa liệu bảng SV_Lop bảng SinhVien Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ 133 BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” “Thêm mới” liệu Thêm vào Form điều khiển Link Button để tạo nút “Thêm mới” liệu Khi kích vào nút trang web chuyển hướng trang “ThemMoiSV.aspx” Trang “ThemMoiSV.aspx” dùng để thêm sinh viên Để thêm sinh viên phải viết mã lệnh cho kiện Click nút “Thêm mới” sau : Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ 134 BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” protected void btnThemMoi_Click(object sender, EventArgs e) { String MaSV = txtMaSV.Text; String TenSV = txtTenSV.Text; String GioiTinh = ddlGioiTinh.SelectedItem.ToString(); int Tuoi = int.Parse(txtTuoi.Text); String Email = txtEmail.Text; String QueQuan = txtQueQuan.Text; String imagepath = "~/Images/" + fulAnh.FileName; fulAnh.SaveAs(Request.MapPath("") + "/Images/" + fulAnh.FileName); dsQLSVTableAdapters.SinhVienTableAdapter sinhvienTA = new dsQLSVTableAdapters.SinhVienTableAdapter(); dsQLSV.SinhVienDataTable sinhvientbl = sinhvienTA.GetDataByMaSV(MaSV); if (sinhvientbl.Rows.Count > 0) { Response.Write("alert('Mã sinh viên tồn tại')"); txtMaSV.Focus(); } else { sinhvienTA.InsertSinhVien(MaSV, imagepath, TenSV, GioiTinh, Tuoi, Email, QueQuan); Response.Redirect("DSSinhVien.aspx"); } } Trong hàm InsertSinhVien() hàm dùng để thêm sinh viên viết Dataset Ngoài nút “Quay lại” dùng để quay lại trang “DSSinhVien.aspx” với GridView hiển thị thông tin sinh viên protected void btnQuayLai_Click(object sender, EventArgs e) { Response.Redirect("DSSinhVien.aspx"); } 3.2 Điều khiển DataList Như điều khiển DataGridView, điều khiển DataList sử dụng để hiển thị liệu Tuy nhiên, DataList, phải tự thiết kế hình thức hiển thị liệu (giống Template Field DataGridView) Ví dụ : Hiển thị danh sách sinh viên theo mẫu sau : Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ 135 BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” Khi kích chọn ảnh sinh viên hiển thị thông tin chi tiết sinh viên Trên trang thông tin chi tiết sinh viên ta sửa đổi, cập nhật thông tin, xóa thông tin, hay tạo thông tin cho sinh viên Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ 136 BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” Cập nhật thông tin sinh viên Tạo thông tin sinh viên Để tạo giao diện chức ta sử dụng đối tượng DataList Chèn vào giao diện đối tượng DataList thuộc nhóm đối tượng Data nguồn liệu định dạng cho DataList cách chọn “New data source” “Auto Format” DataList Tasks Gán Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ 137 BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” gán nguồn liệu cho DataList ta chỉnh sửa cách hiển thị DataList Sau - Quy định hướng hiển thị liệu thuộc tính RepeatDirection + Vertical (mặc định): Hiển thị liệu theo chiều đứng + Horizontal: Hiển thị liệu theo chiều ngang -Quy định số cột hiển thị DataList thuộc tính RepeatColumns -Thay đổi nội dung hiển thị DataList Edit Templates Khi thiết kế phải Binding liệu cho đối tượng theo liệu Data Source Ví dụ : Binding liệu cho Lable TenSV sau : Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ 138 BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” Để kích vào ảnh sinh viên trang web chuyển hướng tới trang thông tin chi tiết sinh viên (trang ChitienSV.aspx) ta phải Binding liệu cho đối tượng Image sau : Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ 139 BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” Trong cửa sổ Properties Image đặt tên thuộc tính Command Name “ChiTiet” Viết mã lệnh cho kiện ItemCommand DataList sau : protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e) { if (e.CommandName.ToString().Equals("ChiTiet")) { String masv = e.CommandArgument.ToString(); Response.Redirect("ChitietSV.aspx?masv=" + masv); } } Trang ChitietSV.aspx thiết kế để hiển thị thông tin chi tiết sinh viên cách dùng đối tượng DetailView Ở trang thiết kế để thêm mới, cập nhật hay xóa thông tin sinh viên tương tự với đối tượng GridView Việc cập nhật, thêm xóa thông tin sinh viên viết với kiện ItemUpdating, ItemInserting, ItemDeleting ▪ Cập nhật thông tin Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ 140 BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e) { String masv = DetailsView1.Rows[0].Cells[1].Text; String tensv = ((TextBox)DetailsView1.Rows[1].Cells[1].Controls[0]).Text; String gioitinh = ((TextBox)DetailsView1.Rows[2].Cells[1].Controls[0]).Text; int tuoi = int.Parse(((TextBox)DetailsView1.Rows[3].Cells[1].Controls[0]).Text); String email = ((TextBox)DetailsView1.Rows[4].Cells[1].Controls[0]).Text; String quequan = ((TextBox)DetailsView1.Rows[5].Cells[1].Controls[0]).Text; String anh = ((TextBox)DetailsView1.Rows[6].Cells[1].Controls[0]).Text; dsQLSVTableAdapters.SinhVienTableAdapter sinhvienTA = new dsQLSVTableAdapters.SinhVienTableAdapter(); sinhvienTA.UpdateSinhVien(anh, tensv, gioitinh, tuoi, email, quequan, masv); Response.Redirect("DSSinhVien_DataList.aspx"); } ▪ Thêm thông tin Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ 141 BÀI GIẢNG MÔN HỌC “CÔNG NGHỆ TIN HỌC TRONG XÂY DỰNG F1” protected void DetailsView1_ItemInserting(object sender,DetailsViewInsertEventArgs e) { String masv = ((TextBox)DetailsView1.Rows[0].Cells[1].Controls[0]).Text; String tensv = ((TextBox)DetailsView1.Rows[1].Cells[1].Controls[0]).Text; String gioitinh = ((TextBox)DetailsView1.Rows[2].Cells[1].Controls[0]).Text; int tuoi = int.Parse(((TextBox)DetailsView1.Rows[3].Cells[1].Controls[0]).Text); String email = ((TextBox)DetailsView1.Rows[4].Cells[1].Controls[0]).Text; String quequan = ((TextBox)DetailsView1.Rows[5].Cells[1].Controls[0]).Text; String anh = ((TextBox)DetailsView1.Rows[6].Cells[1].Controls[0]).Text; dsQLSVTableAdapters.SinhVienTableAdapter sinhvienTA = new dsQLSVTableAdapters.SinhVienTableAdapter(); int i = sinhvienTA.InsertSinhVien(masv, anh, tensv, gioitinh, tuoi, email, quequan); if (i > 0) { Restpon.Write("alert’Insert thành công’"); Response.Redirect("DSSinhVien_DataList.aspx"); } ▪ Xóa thông tin protected void DetailsView1_ItemDeleting(object sender, DetailsViewDeleteEventArgs e) { String MaSV = DetailsView1.Rows[0].Cells[1].Text; dsQLSVTableAdapters.SinhVienTableAdapter sinhvienTA = new dsQLSVTableAdapters.SinhVienTableAdapter(); sinhvienTA.DeleteSinhVien(MaSV); Response.Redirect("DSSinhVien_DataList.aspx"); } Giáo viên : Nguyễn Thị Thanh Yên - Bộ môn TĐHTKCĐ 142