TP Vinh tháng 5/2010 Đồ án tốt nghiệp hệ kỹ s cụng ngh thụng tin - Khúa46 Lời nói đầu Cùng với nhân loại b-ớc vàao kinh tế tri thức, tin học phát triển mạnh mẽ đem lại cho loài ng-ời nhiều thành công rực rỡ Các ứng dụng tin học ngày sâu vào ®êi sèng ng-êi vµ trë thµnh mét bé phËn thiếu giới văn minh, việc nắm bắt thông tin nhiều xác trở nên quan trọng Những khả mẻ -u việt đà làm thay đổi cách sống, cách làm việc, cách t- quan trọng cách định ng-ời Việc xây dựng website để phục vụ cho nhu cầu riêng tổ chức, công ty chí cá nhân ngày không lấy làm xa lạ Với vài thao tác đơn giản, ng-ời bÊt kú cã thĨ trë thµnh chđ cđa mét website giới thiệu thân, gia đình, website trình bày s-u tập tranh ảnh, hình ảnh yêu thích Đối với phủ công ty việc xây dựng website riêng ngày trở nên cấp thiết Thông qua website này, thông tin họ nhcác công văn, thông báo, định phủ hay sản phẩm, dịch vụ công ty đến với ng-ời quan tâm, đến với khách hàng họ cách nhanh chóng, kịp thời, tránh phiền hà mà ph-ơng thức giao tiếp truyền thống th-ờng gặp phải Bắt nguồn từ ý t-ởng này, đà thực đề tài tốt nghiệp mang tên Xây dựng Website th- viƯn tin häc” phơc vơ cho viƯc häc tập v trao đổi vấn đề liên quan đến tin học nhiều tầng lớp độc giả nh- giáo viên, giảng viên, học sinh, sinh viên, phụ huynh Nội dung đề tài đ-ợc chia thành bốn phần: Phần I: Tổng quan đề ti Xây dựng Website thư viện tin học giới thiệu tổng quan đề tài, mục đích, ngôn ngữ xây dựng website Phần II: Phân tích & thiết kế hệ thống trình bày nội dung phân tích bảng liệu đ-ợc thiết kế trình xây dựng website Phần III: Thiết kế sở liệu giao diện mô tả giao diện, hoạt động trang đ-ợc thiết kế quan hệ chúng Phần IV: Cài đặt & thử nghiệmkết cài đặt trình bày cách thức tổ chức tập tin, th- mục website số source ch-ơng trình tiêu biểu G/VHD: PGS.Ts Mai Vn Trinh - Khoa CNTT - ĐHV Trang TP Vinh Đồ án tốt nghiệp hệ kỹ sư công nghệ thông tin - Khúa46 thỏng 5/2010 Trong trình thực đề tài, đà đ-ợc quan tâm bảo tận tình Thầy giáo PGS TS Mai Văn Trinh giúp không học hỏi đ-ợc nhiều kiến thức bổ ích mà học đ-ợc tinh thần làm việc, thái độ nghiên cứu cách nghiêm túc Thầy để hoàn thành tốt đồ án Mặc dù đà cố gắng hoàn thành đồ án với tất nỗ lực thân, nh-ng nhiều yếu tố khách quan tầm hiểu biết ch-a sâu sắc nên website nhiều tính mà ch-a thể khai thác hết đ-ợc Chúng mong đ-ợc góp ý chân thành thầy cô bạn để phát triển lên cách hoàn thiện Xin chân thành cám ơn! Nhúm Sinh Viờn thc hin: Trn Thị Thu Hiền Lớp 46K2 – Tin Trần Thị Minh Lớp 46K2 – Tin Formatted: Heading 1, Indent: Left: cm, Right: cm, Space After: pt G/VHD: PGS.Ts Mai Văn Trinh - Khoa CNTT - ĐHV Trang TP Vinh tháng 5/2010 Đồ án tốt nghiệp hệ kỹ sư cơng nghệ thơng tin - Khóa46 Formatted: Font: 18 pt Mơc LơC Formatted: English (U.S.) Formatted: Font: VnTime Tiªu ®Ị Trang Mơc LơC PhÇn I: Tỉng quan x©y dùng website th- viƯn tin häc 54 1.1 HiƯn tr¹ng chung: 54 1.2 Mơc ®Ých cđa viƯc x©y dùng website th- viƯn tin häc: 65 1.3 Ngôn ngữ cài đặt hỗ trợ xây dựng website: 65 1.3.1 Ngôn ngữ ASP.NET: 65 1.3.2 SQL Server 2000: 87 1.3.3 Ngôn ngữ lập trình C#: 87 1.3.4 PhÇn mỊm moodle: 87 1.4 Đặc tả yêu cầu: 1110 1.4.1 Yêu cầu chức năng: 1110 1.4.2 Yêu cầu phi chức năng: 1211 Phần II: Phân tích hệ thèng 1312 2.1 Đặt vấn đề 1312 2.2 Mô tả to¸n 1312 2.3 Lùa chän h-íng ph©n tÝch: 1312 2.4 Ph©n tÝch hÖ thèng: 1413 2.4.1 Những chức hệ thống: 1413 2.4.2 Ph©n tÝch hƯ thống mặt chức năng: 1413 Phần III: Thiết kế sở liệu vµ giao diƯn 2322 3.1 ThiÕt kÕ sở liệu 2322 3.2 ThiÕt kÕ giao diÖn: 2726 Phần IV: Cài đặt kết cài đặt 4544 4.1 Cài đặt 4544 4.2 Kết cài đặt 5652 KÕT LUËN 5955 Tài liệu tham khảo 6056 Môc LôC PhÇn I: G/VHD: PGS.Ts Mai Văn Trinh - Khoa CNTT - ĐHV Trang Formatted: Font: Bold, Font color: Custom Color(RGB(54,95,145)) Formatted: Font: VnTime, Not Bold, Font color: Auto Formatted: Line spacing: Multiple 1,3 li TP Vinh Đồ án tốt nghiệp hệ kỹ sư công nghệ thông tin - Khóa46 tháng 5/2010 KÕT LUËN 55 Formatted: Heading 1, Indent: Left: 1,75 cm Right: 1,75 cm, Space After: pt G/VHD: PGS.Ts Mai Văn Trinh - Khoa CNTT - ĐHV Trang Đồ án tốt nghiệp hệ kỹ sư cơng nghệ thơng tin - Khóa46 TP Vinh tháng 5/2010 PhÇn I: Formatted: Heading 1, Right: 1,75 cm, Spa After: pt Tỉng quan x©y dùng website th- viƯn tin häc Formatted: Font: Not Italic 1.1 HiƯn tr¹ng chung: Cùng với phát triển không ngừng kỹ thuật máy tính mạng điện tử, công nghệ thông tin đ-ợc công nghệ có đẳng cấp cao lần l-ợt chinh phục hết đỉnh cao đến đỉnh cao khác Mạng Internet sản phẩm có giá trị lớn lao ngày trở nên công cụ thiếu, tảng cho truyền tải, trao đổi thông tin toàn cầu Ngày Internet, Website trang Web không khái niệm xa lạ nữa, ngày trở nên thiếu sống Mäi ng-êi, mäi løa ti ®Ịu biÕt ®Õn Internet, Internet công cụ thiếu đ-ợc cho ng-êi ham hiĨu biÕt vµ mét sè ngµnh nghỊ Víi sù ®êi cđa Internet, tiÕn bé cđa viƠn thông, trở ngại khoảng cách thời gian l-u thông thông tin phạm vi hẹp toàn cầu không trở ngại lớn Các dịch vụ xà hội có thay đổi lớn lao Các ngành quản lý đà áp dụng cách triệt để việc áp dụng Internet vào hoạt động ngành Chỉ cần máy tính kết nối Internet dòng liệu truy tìm gần nh- giới vấn đề mà ta quan tâm ra, có đầy đủ thông tin, hình ảnh âm Bằng Internet, đà thực đ-ợc nhiều công việc với tốc độ nhanh chi phí thấp nhiều so với cách thức truyền thống Chính điều này, đà thúc đẩy khai sinh phát triển th-ơng mại điện tử phủ điện tử khắp giới, làm biến đổi đáng kể mặt văn hoá, nâng cao chất l-ợng sống ng-ời Đối với việc trao đổi, dạy học tin học qua website việc theo nghĩ điều cần thiết Điều quan trọng thông qua website, ng-ời tham khảo học đ-ợc nhiều điều từ ng-ời khác thông qua G/VHD: PGS.Ts Mai Văn Trinh - Khoa CNTT - ĐHV Trang Formatted: Heading 2, Left, Line spacing: single TP Vinh Đồ án tốt nghiệp hệ kỹ sư công nghệ thông tin - Khúa46 thỏng 5/2010 diễn đàn trao đổi kiến thức, thử sức thông qua việc thi trắc nghiệm trực tuyến tham gia trả lời câu hỏi đề mà lớp học online mang tới cho bạn Một thuật toán khó, thắc mắc kiến thức tin học bạn đ-a để trao đổi thảo luận nhận đ-ợc chia sẻ từ chuyên gia tin học Từ ng-ời học qua mạng ngày có hứng thú nhiều với môn tin học bồi d-ỡng thêm cho kiến thức thật vững Formatted: Font: Not Italic 1.2 Mục đích việc xây dựng website th- viƯn tin häc: Mơc ®Ých cđa chóng giúp cho ng-ời yêu thích môn học học tập trực tuyến lớp học online, thử sức với đề thi thi trắc nghiệm trực tuyến truy cập vào diễn đàn để gửi yêu cầu, thắc mắc để ng-ời cïng tham gia th¶o luËn Formatted: Heading 2, Left, Line spacing: single Đồng thời website đ-a đến số tài liệu tham khảo thực có ích cho học sinh phổ thông, sinh viên đại học, cao đẳng Các tin tức, kiện, viết có giá trị đến với bạn truy cập vào website Đây thực môi tr-ờng trao đổi thông tin th-ờng xuyên độc giả ng-ời quản trị, thành viên diễn đàn tin học Formatted: Font: Not Italic 1.3 Ngôn ngữ cài đặt hỗ trợ xây dựng website: Formatted: Heading 2, Left, Line spacing: single 1.3.1 Ngôn ngữ ASP.NET: 1.3.1.1 Giới thiệu ASP.NET: Formatted: Font: 14 pt ASP.NET đ-ợc viết tắt từ Active Server Pages.NET Nói đơn giản ASP.NET công nghệ có tính cách mạng dùng để phát triển ứng dụng mạng nh- t-ơng lai ASP.NET ph-ơng pháp tổ chức hay khung tổ chức (framework) để thiết lập ứng dụng mạnh cho mạng dựa CLR (Common Language Runtime) ngôn ngữ lập trình Ngôn ngữ lập trình dùng để diễn đạt VB.NET, C#, 1.3.1.2 Sự khác biệt ASP.NET ASP: Tập tin ASP.NET có phần mở rộng ASPX, tập tin ASP ASP Tập tin ASP.NET đ-ợc phân tích ngữ pháp (parsed) XSPISAPI.DLL, tập tin ASP đ-ợc ph©n tÝch bëi ASP.DLL G/VHD: PGS.Ts Mai Văn Trinh - Khoa CNTT - ĐHV Trang Formatted: Heading 3, Left, Indent: Left: cm, First line: cm, Line spacing: single TP Vinh Đồ án tốt nghiệp hệ kỹ sư cơng nghệ thơng tin - Khóa46 tháng 5/2010 ASP.NET kiểu mẫu lập trình phát động kiện (event driven), trang ASP đ-ợc thi hành theo thứ tự từ xuống d-ới ASP.NET sử dụng trình biên dịch (compiled code) nên nhanh, ASP dùng trình thông dịch (Interpreted code) ASP.NET hỗ trợ nhiều ngôn ngữ lập trình với NET chạy môi tr-ờng biên dịch (compiled environment), ASP chấp nhận VBScript JavaScript nên ASP ngôn ngữ kịch ASP.NET hỗ trợ tất trình duyệt (browser) quan trọng hỗ trợ thiết bị di động 1.3.1.3 Sơ l-ợc NET Framework: Mọi chức ASP.NET có đ-ợc hoàn toàn dựa vào NET framework có chữ NET ASP.NET Ta cần phải hiểu rõ kiến trúc hạ tầng NET framework để dùng ASP.NET cách hiệu quả, quan trọng Common Language Runtime (CLR) vµ NET Framework Class CLR (Common Language Runtime) Là môi tr-ờng đ-ợc dùng để quản lý thi hành mà nguồn mà ta đà soạn biên dịch ứng dụng Tuy nhiên biên dịch mà nguồn, ta lại biên dịch chúng thành ngôn ngữ trung gian gọi Microsoft Intermediate Language (MSIL) Chính ngôn ngữ trung gian MSIL ngôn ngữ chung cho tất ngôn ngữ NET có Trong biên dịch ứng dụng sản xuất thông tin cần thiết, ta gọi thông tin metadata Đến ta chạy ứng dụng, CLR tiếp quản (take - over) lại biên dịch (compile) nguồn mà lần thành ngôn ngữ gốc Thực quản lý nhớ, quản lý thực thi tiểu trình, thực thi mà nguồn, xác nhận mà nguồn an toàn, biên dịch dịch vụ hệ thống khác Ngoài đảm bảo cho việc bảo mật NET Framework Classes: Điều quan trọng cần phải nhớ thứ NET đối t-ợng Các đối t-ợng đ-ợc tổ chức lại thành nhóm riêng biệt nhtrong th- viện để ta dễ dàng sử dụng Ta gọi nhóm nh- không gian tên (namespaces), ta dùng không gian tên để gọi hay nhập lớp (classes) cần thiết cho ứng dụng G/VHD: PGS.Ts Mai Văn Trinh - Khoa CNTT - ĐHV Trang TP Vinh Đồ án tốt nghiệp hệ kỹ sư công nghệ thơng tin - Khóa46 tháng 5/2010 Mét namespace không nhóm kiểu liệu, mà làm cho tên tất kiểu liệu không gian tên có tiếp đầu ngữ tên namespace Nó cho phép không gian tên nằm không gian tên khác Ví dụ, hầu hết hỗ trợ chung th- viện lớp sở NET nằm không gian tên gọi System Lớp sở Array nằm không gian tên có tên đầy đủ System.array 1.3.2 SQL Server 2000: Là hệ thống quản lý sở liệu sử dụng Transact SQL để trao đổi liệu Client Computer SQL Server Computer Một hệ thống quản lý sở liệu bao gồm database, database engine ứng dụng dùng để quản lý liệu phận khác hệ thống quản lý sở liệu SQL server kết hợp rÊt tèt víi c¸c server kh¸c nh- IIS, Proxy Server Việc truy xuất sở liệu đ-ợc thông qua thẻ ASP, lênh thực thi ADO.NET Formatted: Font: 14 pt 1.3.3 Ngôn ngữ lập trình C#: C# mô tả ngôn ngữ đại h-ớng ®èi t-ỵng (object-oriented) Nã ®-ỵc thiÕt kÕ ®Ĩ chó ý đến việc diễn đạt C++ theo kiểu lập trình phát triển nhanh ứng dụng RAD (Rapid Application Development) chẳng h¹n nh- Microsoft Visual Basic, Delphi, C++ Builder Sù tiÕn triển C# chịu ảnh h-ởng ngôn ngữ nh- C++, Java ngôn ngữ khác Formatted: Font: 14 pt Formatted: Heading 3, Left, Indent: Left: cm, First line: cm, Line spacing: single Formatted: Heading 3, Left, Indent: Left: cm, First line: cm, Line spacing: single Tr-ớc hết thứ C# đối t-ợng C# không quan tâm đễn liệu toàn cục hay hàm toàn cục Tất cảc liệu ph-ơng thức C# đ-ợc chứa khai báo: Cấu trúc (struct) lớp (class) Tất liệu ph-ơng thức thao tác liệu cần đ-ợc đóng gói nh- đơn vị chức năng, đơn vị chức đối t-ợng đ-ợc sử dụng lại, chúng độc lập tự hoạt động Ngoài công cụ hỗ trợ có phần mềm photoshop, HTML, Javascript dùng để thiết kế giao diện tạo hiệu ứng đẹp mắt 1.3.4 Phần mềm moodle: 1.3.4.1 Giới thiệu Moodle: Trong trình hoàn thành ch-ơng trình, để trang web có đ-ợc đầy đủ tính chúng em đà sử dụng phần mềm moodle, công cụ dùng ®Ó G/VHD: PGS.Ts Mai Văn Trinh - Khoa CNTT - ĐHV Trang Formatted: Font: 14 pt Formatted: Heading 3, Left, Indent: Left: cm, First line: cm, Line spacing: single TP Vinh Đồ án tốt nghiệp hệ kỹ sư cơng nghệ thơng tin - Khóa46 tháng 5/2010 x©y dùng líp häc onlnie b»ng c¸ch sư dơng m· ngn mở với hệ quản trị sở liệu MySQL ngôn ngữ lập trình PHP Moodle bật thiết kế h-ớng tới giáo dục, dành cho ng-ời làm lĩnh vực giáo dục Do thiết kế dựa module nên Moodle cho phép bạn chỉnh sửa giao diện cách dùng theme có tr-ớc tạo thêm theme cho riêng Moodle phù hợp với nhiều cấp học hình thức đào tạo: Phổ thông, đại học/ cao đẳng, không quy, tổ chức/ công ty Moodle phát triển dựa PHP cã thĨ më réng tõ mét líp häc nhá ®Õn tr-ờng đại học lớn 50.000 sinh viên Bạn cã thĨ dïng Moodle víi c¸c database m· ngn më nh- MySQL 1.3.4.2 Nh÷ng lý khiÕn ng-êi ta sư dụng Moodle ngày nhiều: Điều Moodle giúp tr-ờng đại học không phụ thuộc vào công ty phần mềm đóng LMS (Learning Management System) hệ thống quản lý học tập đóng ảnh h-ởng nhiều đến tr-ờng đại học mức mà bạn quay lại Giáo viên quen với Sinh viên nhân viên khác Đến lúc công ty LMS nhận phụ thuộc bạn bắt đầu tăng giá, hỗ trợ hơn, bắt bạn mua sản phẩm bổ sung bạn bắt buộc phải làm theo, không lựa chọn khác Nếu bạn cần hỗ trợ, bạn phải dựa vào công ty bán sản phẩm cho bạn nâng cấp chỉnh sửa bạn mà nguồn tay Nh-ng mà nguồn mở, bạn tự sửa trả cho công ty khác hỗ trợ bạn Hơn bạn có chuyên gia tin học tốt bạn không cần thuê bên Moodle đ-ợc hỗ trợ tích cực ng-ời làm lĩnh vực giáo dục Họ ng-ời có trình độ IT tốt có kinh nghiệm giảng dạy Họ ng-ời dùng LMS hỗ trợ bạn Chất l-ợng Moodle đ-ợc phát triển cộng đồng nhà giáo dục, chyên gia máy tính, chuyên gia thiết kế giảng dạy Kết bạn có tay sản phẩm tốt đáp ứng yêu cầu ng-ời dùng G/VHD: PGS.Ts Mai Vn Trinh - Khoa CNTT - ĐHV Trang TP Vinh thỏng 5/2010 Tuỳ biến đ-ợc ỏn tt nghip h kỹ sư cơng nghệ thơng tin - Khóa46 M· më đ-ợc đ-a công khai bạn tuỳ biến hệ thống để phù hợp với yêu cầu đào tạo thuê lập trình viên làm chuyện thay cho bạn Ngay bạn lập trình viên, bạn cài đặt Moodle sever, tạo khoá học cài thêm module bổ sung, gỡ rắc rối với trợ giúp cộng đồng Moodle Mà ngn më sư dơng miƠn phÝ M· ngn më dïng mô hình kinh doanh khác với mô hình mà tõng biÕt VÝ dơ, b¹ cã thĨ më mét công ty t- vấn Moodle thuê lập trình viên để phát triển phần mềm chia sẻ miễn phí cho cộng đồng có nhiều ng-ời dùng công ty bạn có hội kinh doanh Và điều quan trọng giúp sinh viên khoa máy tính tham gia dù ¸n ph¸t triĨn mét module cho LMS Moodle, sinh viên xây dựng module cho LMS Moodle chia sẻ cho cộng đồng toàn cầu Nếu module đủ tốt, đ-ợc tích hợp phiên Moodle Bởi Moodle thiết kế dựa module , xây dựng module cho Moodle đơn giản bạn biết PHP 1.3.4.3 Cài đặt Moodle Yêu cầu: Web server: th-ờng dùng Apache IIS PHP: version 4.3.0 cao MySQL 4.1.16 MSSQL 9.0 Chuẩn bị: tải moodle về, sau giải nén moodle vào th- mục đổi tên th- mục thành moodle Cài đặt: Cài Appserv: Appserv có tích hợp apache, php, mysql Khi cài ta chọn chế độ cài PHP, MySQL, phpMyAdmin Apache Hình II.1-1: Tùy chọn cài đặt Appserv G/VHD: PGS.Ts Mai Văn Trinh - Khoa CNTT - ĐHV Trang 10 TP Vinh tháng } 5/2010 Đồ án tốt nghiệp hệ kỹ sư cơng nghệ thơng tin - Khóa46 finally { doc.Close(ref nullobj, ref nullobj, ref nullobj); } Đoạn code sau dùng để tách nội dung, đáp án Sau đẩy vào CSDL: public bool TaoDeTN(string str, string sql1, Panel Panel3, Label Label1) { str = TheHTML(str); bool kt = false; int da = 0; DataBase db = new DataBase(); string st = ""; string sql = "select top * from tblTracNghiem order by ID_TN desc"; DataTable tblTracNghiem = db.GetData(sql); int idtn = 1; if (tblTracNghiem.Rows.Count > 0) { idtn = int.Parse(tblTracNghiem.Rows[0]["ID_TN"].ToString()); tblTracNghiem.Rows[0].Delete(); } idtn++;//tang ID_TN de them bo de moi sql = "select top * from tblCauHoi order by ID_CH desc"; DataTable tblCauHoi = db.GetData(sql); int idch = 1; if (tblCauHoi.Rows.Count > 0) { idch = int.Parse(tblCauHoi.Rows[0]["ID_CH"].ToString()); tblCauHoi.Rows[0].Delete(); } sql = "select top * from tblDapAn"; DataTable tblDapAn = db.GetData(sql); string str1 = str.Trim(); bool err = false; while (str1 != "") { int j = str1.IndexOf("##"); if (j == -1 || j == 0) //khong tim thay ky hieu ## ket thuc cau hoi hoac khong co cau hoi nhung co ky hieu ket thuc cau hoi { err = true; break; } str = str1.Substring(0, j + 2); str1 = str1.Substring(j + 2); while (str != "") { int i = 0; if (kt == false) { i = str.IndexOf("@#"); if (i == -1) //khong tim thay ky hieu @# { err = true; G/VHD: PGS.Ts Mai Văn Trinh - Khoa CNTT - ĐHV Trang 46 Formatted: No bullets or numbering Formatted: Indent: Left: cm, Hanging: cm, No bullets or numbering Formatted: Indent: Left: cm, No bullets o numbering Formatted: Indent: Left: cm, Hanging: cm, No bullets or numbering Formatted: Indent: Left: cm, No bullets o numbering Formatted: Indent: Left: cm, Hanging: cm, No bullets or numbering TP Vinh tháng 5/2010 Đồ án tốt nghiệp hệ kỹ sư cơng nghệ thơng tin - Khóa46 break; } st = str.Substring(0, i).Trim(); if (st.Length >= 1000 || st.Length =0) { string st1 = str.Substring(0, i); st1 = st1.Trim(); if (st1.Length == 1) err = true; else if (st1 != "" && st1 != "\r") if (st1[st1.Length - 1] == 'r' && st1[st1.Length - 2] == '\\') err = TestErr(st.Substring(0, i)); else err = true; } err = true; if (err) break; //ket thuc cau hoi else kt = false; break; } st = str.Substring(0, i + 2).Trim(); if (st.Length >= 1000 || st.Length Formatted: Font: 14 pt Cách tạo chức diễn đàn: - Cách tạo chuyên mục (Catelory) diễn đàn: Trong trang chủ diễn đàn sử dụng Repeater lồng để lấy chuyên mục (Catelory) chuyên mục GroupCatelory, ta có đoạn code để tìm chuyên mục (Catelory) GroupCatelory nh- sau: + Code hiển thị liệu chuyên mục cha (GroupCatelory) SqlConnection mycon = new SqlConnection(); G/VHD: PGS.Ts Mai Văn Trinh - Khoa CNTT - ĐHV Trang 52 TP Vinh Đồ án tốt nghiệp hệ kỹ sư cơng nghệ thơng tin - Khóa46 tháng mycon = myDB.OpenCon(); 5/2010 string sqlStr = "select * from tblGroupCategory"; SqlDataAdapter myAdap = new SqlDataAdapter(sqlStr, mycon); DataSet ds = new DataSet(); myAdap.Fill(ds); Repeater1.DataSource = ds.Tables[0]; Repeater1.DataBind(); + Code t×m chuyªn mơc (Catelory) chuyªn mơc cha (GroupCatelory) nh- sau: // -Tim repeate va HidrenFeld repeate cha' Repeater lisChildrent (Repeater)e.Item.FindControl("listChildrent"); HiddenField hrId = (HiddenField)e.Item.FindControl("hrId"); // neu khong tin duoc thi return -if ((lisChildrent == null) || (hrId == null)) return; else string sql = "select * from tblCatelory where IdGroup = "+ hrId.Value.ToString(); SqlConnection mycon = myDB.OpenCon(); SqlDataAdapter myAdap = new SqlDataAdapter(sql, mycon); DataSet ds = new DataSet(); myAdap.Fill(ds); lisChildrent.DataSource = ds.Tables[0]; lisChildrent.DataBind(); } - C¸ch lÊy viết tiêu biểu hiển thị nội dung bµi viÕt cđa ng-êi dïng Khi ng-êi dïng ch-a đăng nhập hệ thống đ-ợc phép xem viết mà ch-a có quyền gửi lên diễn ®µn Trong trang nµy nÕu ta truy cËp víi qun admin hiển thị nut Edit cho phép admin thêm, sửa, xoá bi viết Ta có đoạn ch-ơng trình nh- sau: public partial class Control_View_Topic : System.Web.UI.UserControl { DataBase myDb = new DataBase(); string id1; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { try { display(); displayDatalist(); } catch (Exception err) { Response.Write(err.Message); } } } public void display() G/VHD: PGS.Ts Mai Văn Trinh - Khoa CNTT - ĐHV Trang 53 Formatted: Font: 14 pt TP Vinh tháng { 5/2010 Đồ án tốt nghiệp hệ kỹ sư cơng nghệ thơng tin - Khóa46 //mo ket noi id1 = Request.QueryString["id"].ToString(); SqlConnection mycon = new SqlConnection(); mycon = myDb.OpenCon(); string sql = "select * from tblTopic where Catelory_Id=" + int.Parse(id1); SqlDataAdapter myAdap = new SqlDataAdapter(sql, mycon); DataSet ds = new DataSet(); myAdap.Fill(ds); CollectionPager1.PageSize = 12; CollectionPager1.DataSource = ds.Tables[0].DefaultView; CollectionPager1.BindToControl = rpViewTopic; rpViewTopic.DataSource = CollectionPager1.DataSourcePaged; } protected void displayDatalist() { SqlConnection mycon = new SqlConnection(); mycon = myDb.OpenCon(); DataTable tbl1 = new DataTable(); tbl1 = myDb.GetData("select top * from tblTopic ORDER BY Topic_Id DESC"); dtlTop12Comment.DataSource = tbl1; dtlTop12Comment.DataBind(); } protected void rpViewTopic_ItemCommand(object source, RepeaterCommandEventArgs e) { try { if (e.CommandName == "BaiMoi") { if ((Convert.ToInt32(Session["au"]) == 1) || (Convert.ToInt32(Session["au"]) == 2) || (Convert.ToInt32(Session["au"]) == 3)) { Response.Redirect("VietBaiMoi1.aspx"); } else { Response.Write("alert('Bạn phải đăng nhập có quyền thực chức này!')"); } } if (e.CommandName == "Sửa bài") { if ((Convert.ToInt32(Session["au"]) == 1) || (Convert.ToInt32(Session["au"]) == 2) || (Convert.ToInt32(Session["au"]) == 3)) { int cate_id = int.Parse(Request.QueryString["id"].ToString()); string st = "Admin/Quantri_Topic.aspx?id=" + cate_id.ToString(); Response.Redirect(st); } G/VHD: PGS.Ts Mai Văn Trinh - Khoa CNTT - ĐHV Trang 54 TP Vinh tháng 5/2010 Đồ án tốt nghiệp hệ kỹ sư cơng nghệ thơng tin - Khóa46 else { Response.Write("alert('Bạn chưa đăng nhập chưa có quyền gửi bài')"); } } } catch (Exception err) { Response.Write(err.Message); } } protected void rpViewTopic_ItemDataBound(object sender, RepeaterItemEventArgs e) { Button BtnSuaBai = (Button)e.Item.FindControl("BtnSuaBai"); if (BtnSuaBai == null) return; if (Convert.ToInt32(Session["au"]) == 1) { BtnSuaBai.Visible = true; } else { BtnSuaBai.Visible = false; } } } - Cách đ-a lên phản hồi ng-ời dùng lên diễn đàn: Khi ng-ời dùng đăng nhập bảng phản hồi lên ng-ời dùng việc đánh nội dung phản hồi v nhấn vo nút Send nội dung phn hồi gửi lên diễn đàn Ta có đoạn code đ-a nội dung phản hồi lên diễn đàn nh- sau: protected void BT_send_Click(object sender, EventArgs e) { try { string id = Request.QueryString["id"].ToString(); string tieude = Txt_tittle.Text; string noidung = Txt_content.Text; string UserName = Session["UserName"].ToString(); if ((Convert.ToInt32(Session["au"]) == 1) || (Convert.ToInt32(Session["au"]) == 2) || (Convert.ToInt32(Session["au"]) == 3)) { string st = "insert into tblFeedback (Topic_Id,Title,Contents,TimePost,UserName) values(N'" + int.Parse(id) + "',N'" + tieude + "',N'" + noidung + "',N'" + DateTime.Now + "',N'" + UserName + "')"; myDb.doSQL(st); Display(); //tang so luong bai viet G/VHD: PGS.Ts Mai Văn Trinh - Khoa CNTT - ĐHV Trang 55 Formatted: Font: 14 pt TP Vinh Đồ án tốt nghiệp hệ kỹ sư công nghệ thông tin - Khóa46 tháng string st1 = "update tblTopic set Feedback_Topic=Feedback_Topic+1 where 5/2010 Topic_Id=" + Request.QueryString["id"].ToString(); myDb.doSQL(st1); } Txt_tittle.Text = ""; Txt_content.Text = ""; } catch (Exception err) { Response.Write(err.Message); } } 4.2 4.2 Kết cài đặt Formatted: Font: Not Italic Giao diÖn trang trangchu.aspx: Formatted: Heading 2, Space After: pt, Li spacing: single, No bullets or numbering Giao diÖn trang tintuc1.aspx G/VHD: PGS.Ts Mai Văn Trinh - Khoa CNTT - ĐHV Trang 56 TP Vinh tháng 5/2010 Đồ án tốt nghiệp hệ kỹ sư công nghệ thông tin - Khúa46 Giao diện chình diễn đàn( trang Example1.aspx): Giao diÖn trang upload.aspx G/VHD: PGS.Ts Mai Văn Trinh - Khoa CNTT - ĐHV Trang 57 TP Vinh tháng 5/2010 Đồ án tốt nghiệp hệ kỹ sư công nghệ thông tin - Khóa46 Giao diƯn líp häc G/VHD: PGS.Ts Mai Văn Trinh - Khoa CNTT - ĐHV Trang 58 TP Vinh tháng 5/2010 Đồ án tốt nghiệp hệ kỹ sư công ngh thụng tin - Khúa46 KếT LUậN Với yêu cầu đặt website ch-ơng trình xây dựng website Thư viện IT đà đáp ứng đầy đủ chi tiết tính năng: Quản lý viết, tài liệu, tin tức đ-ợc ng-ời dùng đ-a lên website Cho phép ng-ời dùng thực đ-ợc chức xem, upload tin tức, tài liệu, tham gia vào ch-ơng trình lớp học online, thi trắc nghiệm trực tuyến, tham gia trao đổi vấn đề liên quan đến ngành học thông qua diễn đàn Ch-ơng trình đà thống tin học hoá hoàn toàn mục đ-ợc đ-a lên website Ch-ơng trình cung cấp tốt chức lu phục hồi sở liệu (DataBase) cho phép ng ời dùng cấu hình thông tin mang tính động: nh hệ số nhân thay đổi, quy chế thay đổi khả cho phép nâng số kèm Quản lý tốt việc đăng ký thông tin ngời dùng nh phân quyền ngời dùng, quản lý viết, tài liệu cách sửa, xoá, cập nhật tin tức, kiện để đ-a lên diễn đàn Tuy nhiên khả phân tích hệ thống có hạn tầm nhìn cha bao quát hết đợc vấn đề, nên có nhiều tính mà ch-ơng trình Xây dựng website th- viện IT cha đợc làm thật hoàn hảo Quá trình tính toán hệ thống có nhiều chỗ cha đợc tối u nên chơng trình nhiều lợt xử lý dẫn đến tốc độ đọc liệu truyền tải liệu cha tối u hết đợc đờng truyền thao tác trực tuyến với máy chủ Hớng phát triển: Để xây dựng website Thư viện IT đợc hoàn thiện cần phải tập trung xử lý thêm chức nh-: Nâng cấp hoàn chỉnh chức hệ thống đảm bảo linh hoạt thích hợp để tuỳ biến theo dõi chặt chẽ l-ợng ng-ời truy cập Kiểm tra chặt tính đắn đầu vào liệu nhập để nâng cao tính thực tế chơng trình Do thực đề tài khoảng thời gian ngắn, nh- ch-a khai thác hết đ-ợc tính website cần phải đạt đ-ợc nên đề tài thiếu sót Hy vọng với cố gắng kết qủa đà đạt đợc chơng trình vào áp dụng thực tế thời gian sớm để website thực có ích tất ng-ời dùng yêu thích môn tin học ! G/VHD: PGS.Ts Mai Văn Trinh - Khoa CNTT - ĐHV Trang 59 TP Vinh tháng 5/2010 Đồ án tốt nghiệp hệ kỹ sư cơng nghệ thơng tin - Khóa46 Formatted: Font: 18 pt Formatted: Heading 1, Right: cm, Space Before: pt, Line spacing: single Tài liệu tham khảo Cao Thanh Sơn Giáo trình thiết kế Web Đại học Vinh Hoàng Hữu Việt Cao Thanh Sơn Giáo trình công nghệ phần mềm Đại học Vinh Internet http://thietkewebsite.vn http://thietkeweb.vn http://phpvn.org … http://Moodle.org G/VHD: PGS.Ts Mai Văn Trinh - Khoa CNTT - ĐHV Trang 60 ... Tổng quan xây dựng website th- viƯn tin häc 54 1.1 HiƯn tr¹ng chung: 54 1.2 Mục đích việc xây dựng website th- viện tin học: 65 1.3 Ngôn ngữ cài đặt hỗ trợ xây dựng website: ... động website cách thức tham gia vào mục mà ng-ời dùng lựa chọn Ng-ời dùng cần đăng ký tài khoản riêng cho website cách điền đầy đủ thông tin mục đăng ký Khi bạn đà có tài khoản cho riêng website. .. Not Italic 1.4 Đặc tả yêu cầu: 1.4.1 Yêu cầu chức năng: Ng-ời viếng thăm website xem thông tin, tài liệu, viết, lịch học online, diễn đàn để trao đổi học tập, bạn cần đăng ký tài khoản website