Trường Cao Đẳng CNTT TP.HCM Khoa công nghệ thông tin

Mục tiêu

LẬP TRÌNH WEBSITE

Giảng Viên: Dương Thành Phết Email: phetcm@gmail.com Website: http://www.thayphet.net Tel: 0918158670 – 08.3.7900261 Lịch tiếp SV tại văn phòng khoa: Sáng thứ 5 (9h00 (cid:206) 11h30)

(cid:57) Phát triển được các ứng dụng Web trên nền tảng công nghệ ASP.Net bằng cách sử dụng phần mềm MS Visual Studio 2005 với ngôn ngữ lập trình C#. (cid:57) Tổng hợp với kiến thức các môn chuyên ngành để xây dựng các ứng dụng như các ứng dụng web về thương mại điện tử, các mạng thông tin lớn, website của các tổ chức, doanh nghiệp hoạt động chuyên nghiệp trên môi trường Internet. (cid:57) Quản trị, bảo trì và nâng cấp hệ thống website của các tổ chức, doanh nghiệp, cá nhân. (cid:57) Đáp ứng đủ kiến thức nền tảng để nghiên cứu các công nghệ, giải pháp về lĩnh vực web … (cid:57)Thực hiện tốt các đồ án môn học, thực tập tốt nghiệp, luận văn tốt nghiệp theo hướng Web.

22

1 1

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

Điều kiện

Sinh viên đã học và đạt các học phần sau. (cid:153) Thiết kế web (HTML,Css,JavaScript , Dreamweaver. . ) (cid:153) Cơ sở dữ liệu & Hệ quản trị cơ sở dữ liệu SQLServer. (cid:153) Ngôn ngữ lập trình C#. (cid:153) Đồ họa ứng dụng Học phần được học song hành. (cid:153) Phân tích thiết kế hệ thống thông tin

44

33

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Trong quá trình học tập sẽ phải thành lập và làm việc nhóm để thực hiện Serminar, Project nên các bạn sẽ đạt các mục tiêu về kỹ năng như: (cid:153) Phát huy tốt phương pháp học tập tích cực và chủ động. Làm việc theo mục tiêu, theo kế hoạch (cid:153) Trình bày được báo cáo một đề tài theo qui định. (cid:153) Tư duy, phân tích và ra quyết định giải quyết vấn đề. (cid:153) Mở rộng nâng cao kiến thức môn học, ứng dụng vào thực tiễn

Thời lượng

Đánh giá kết quả học tập

(cid:153) Tham gia học tập trên lớp (đầy đủ, chuẩn bị bài tốt,

tích cực thảo luận và phát biểu, …): 10%

(cid:153) Điểm thực hành: 20% thực hiện bài tập lớn và đánh giá vấn đáp(Đủ điều kiện trong quá trình học thực hành)

(cid:153) Kiểm tra giữa kỳ : 10% (trắc nghiệm) + Báo cáo bài

tậ lớn.

(cid:153) Thực hiện Seminar: Cộng điểm

(cid:153) Kiểm tra cuối kỳ : 50% (Trắc nghiệm + tự luận, thời

gian 90’, không sử dụng tài liệu)

66

55

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Thời gian: 4 Tín chỉ Cụ thể Tổng số tiết: 90 tiết Lý thuyết: 45 tiết 3 tiết / tuần x 15 tuần Thực hành: 45 tiết 5 tiết / tuần x 9 tuần

Nhiệm vụ của sinh viên

Phần mềm thực hành

88

77

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

(cid:153) Xem bài giảng và tài liệu tham khảo trước mỗi buổi lên Phần mềm chính để lập trình ứng dụng lớp. (cid:190) Microsoft SQLServer 2005 /2008 (cid:153) Tích cực tham gia phát biểu, đóng góp ý kiến xây (cid:190) Microsoft Visual .Net 2005/2008 với ngôn ngữ C# dựng bài. (cid:153) Chia nhóm để làm bài tập và báo cáo do giảng viên Phần mềm hỗ trợ thực hiện bài tập lớn giao. (cid:190) Adobe Photoshop (cid:153) Tự giác tìm tài liệu, nghiên cứu và thảo luận nhóm khi (cid:190) Macromedia Flash ở nhà. (cid:153) Nghiêm túc làm tất cả các bài tập trong giờ thực hành.

NỘI DỤNG TÓM TẮT

Tài liệu học tập và tham khảo

[1] Dương Thành Phết, Bài giảng Lập trình ứng dụng Web ASP.Net với C#, Khoa công nghệ thông tin, Trường cao đẳng CNTT TP.HCM (2010).

[2] Dương Thành Phết, Bài tập thực hành Lập trình ứng dụng Web ASP.Net với C#, Khoa công nghệ thông tin, Trường cao đẳng CNTT TP.HCM (2010). ---------- (cid:190) Chương 1: Tổng Quan Về ASP.Net (cid:190) Chương 2: Các Đối Tượng Trong ASP.Net (cid:190) Chương 3: Các Điều Khiển WebServer (cid:190) Chương 4: Các điều khiển kiểm tra dữ liệu (cid:190) Chương 5: Các Điều Khiển Dữ Liệu (cid:190) Chương 6: Lập Trình Web Với ADO.Net (cid:190) Chương 7: User Controls & Master Pages (cid:190) Chương 8: Công nghệ và dịch vụ web (cid:190) Chương 9: Bảo mật và quản trị website

[3] Mesbah Ahmed , Chris Garrett , Jeremy Faircloth, Chris Payne , Wei Meng Lee , Jonothon Ortiz (2002), ASP.NET Web Developer’s Guide, Syngress.

1010

9

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

[4] Microsoft Press, Build A Website Now with Visual Web Developer 2005 Express Edition, 2006.

(cid:153) Hiểu biết được các khái niệm tổng quan liên quan về công nghệ lập trình web động và quản lý ứng dụng thông qua các đối tượng trong ASP.Net [Ch1,2].

(cid:153) Điểm đặc biệt là áp dụng kết nối ứng dụng với cơ sở dữ liệu để khai thác và tương tác với người dùng, xây dựng các trang quản trị, và giỏ hàng trong thương mại điện tử sử dụng công nghệ ADO.Net [Ch7].

(cid:153) Cuối cùng sẽ lĩnh hội những kiến thức liên quan đến các công nghệ web mới như: Ajax, Webservice, vấn đề bảo mật cũng như việc Upload đưa website lên webserver để vận hành. [Ch8,9].

1111

1212

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

(cid:153) Sử dụng thành thạo công cụ MS Visual 2005 để thiết kế các website gồm các điều khiển trình chủ, điều khiển kiểm tra dữ liệu, điều khiển liên kết dữ liệu cũng như các điều khiển đặc biệt khác. Tận dụng tính hữu dụng của công cụ để xây dựng nhóm các điều khiển dùng chung (User control) và thiết kế bố cục webssite thông qua Masterpage [Ch3,4,5,6].

Chương 1 Tổng Quan Về ASP.Net

Chương 2 Các Đối Tượng Trong ASP.Net

1313

1414

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

1.1 Giới thiệu về ASP.Net và .Net Framework 1.2 Tạo ứng dụng Web với Microsoft Visual 2005 1.3 Các thành phần giao diện trên VS .Net 2.1. Đối tượng Response Và Request 2.2. Đối tượng Application Và Session 2.3. Đối tượng Server Và Cookies 2.4. Tập tin Global.asax Và Web.config 1.4 Triển khai ứng dụng web

Chương 3 Các Điều Khiển WebServer

Chương 4 Các Điều Khiển Kiểm Tra Dữ Liệu

1515

1616

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

3.1 Tổng quan về ASP.Net Server Control 3.2 HTML Control 4.1 Giới thiệu chung 4.2 Các Điều khiển kiểm tra dữ liệu 3.3 WebSever Control 3.4 Các điều khiển khác 3.5 Đối tượng ViewState

Chương 5 Các Điều Khiển Liên Kết CSDL

Chương 06 Thiết kế Layout Web

5.1 Điều khiển kết nối cơ sở dữ liệu 5.2 Điều khiển liên kết cơ sở dữ liệu

1717

1818

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

6.1 Web User controls 6.2 Master Pages 6.3 Themes Và Skin 6.4 Site Navigation Controls

Chương 7 Lập Trình Web Với ADO.Net

Chương 8 Công Nghệ Và Dịch Vụ Web

1919

2020

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

7.1 Tổng quan về ADO.Net 8.1 Công nghệ web 2 – Ajax 8.2. Dịch vụ web - Webservice 7.2 Các đối tượng trong ADO.Net 7.3 Xây dựng lớp xử lý dữ liệu 7.4 Xử lý giỏ hàng cho website thương mại điện tử

LỊCH TRÌNH DẠY & HỌC

Chương 9 Bảo Mật & Quản Trị Website

2121

2222

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

9.1 Bảo mật Website 9.2 Quản trị Website

Sản phẩm học tập

2323

2424

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Sản phẩm học tập

Chương 1 Tổng Quan Về ASP.Net

2525

2626

Trung Tâm CEE

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

1.1 Giới thiệu về ASP.Net và .Net Framework 1.2 Tạo ứng dụng Web với Microsoft Visual 2005 1.3 Các thành phần giao diện trên VS .Net 1.4 Triển khai ứng dụng web

1.1. Giới thiệu về ASP.Net và .Net Framework

1.1.1 Tìm hiểu về ASP.Net

1.1.1 Tìm hiểu về ASP.Net

1.1.2 Những ưu điểm của ASP.Net (cid:190)Cuối thập niên 90, ASP (Active Server Page) đã được nhiều lập trình viên lựa chọn để xây dựng và phát triển ứng dụng web động trên máy chủ hệ điều hành Windows.

1.1.3 Quá trình xử lý tập tin .Aspx

1.1.4 Tìm hiểu về .Net Phatform và .Net Framework

2727

2828

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

(cid:190)ASP thể hiện những ưu điểm với mô hình lập trình thủ tục đơn giản, sử dụng hiệu quả các đối tượng: ADO (ActiveX Data Object) - Xử lý dữ liệu, FSO (File System Object) - Làm việc với hệ thống tập tin… ASP cũng hỗ trợ nhiều ngôn ngữ: VBScript, JavaScript (cid:206) Được yêu thích trong thời gian dài

(cid:190) Tuy nhiên, ASP còn tồn đọng một số khó khăn như: (cid:131) Code ASP và HTML lẫn lộn, viết code khó khăn, (cid:190) ASP.Net là kỹ thuật lập trình và phát triển ứng dụng web ở phía Server dựa trên nền tảng của Microsoft .Net Framework. (cid:131) Hạn chế khả năng sử dụng lại code. (cid:131) Triển khai không được biên dịch dễ mất code (cid:190) Mã lệnh ở phía server sẽ được biên dịch và thi hành tại Web Server kết quả được chuyển sang HTML/ JavaScript/ CSS và trả về cho Client. (cid:131) Hạn chế về tốc độ, quá trình Postback khó khăn, …

(cid:190)Tất cả các xử lý lệnh ASP, ASP.Net đều được thực hiện tại Server và do đó, gọi là kỹ thuật lập trình ở phía server. (cid:190) Năm 2002, Microsoft giới thiệu một kỹ thuật lập trình Web mới là ASP.Net.

2929

3030

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

(cid:190) Với ASP.Net, không những không cần phải biết các tag HTML, thiết kế web, mà còn hỗ trợ mạnh lập trình hướng đối tượng trong quá trình xây dựng và phát triển ứng dụng Web.

1.1.2 Những ưu điểm của ASP.Net

(cid:190)ASP.Net cho phép lựa chọn một trong các ngôn ngữ lập trình : Visual Basic.Net, J#, C#,… (cid:190)ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của .Net Framework, làm việc với XML, Web Service, truy cập cơ sở dữ liệu qua ADO.Net, … (cid:190)ASPX và ASP cùng hoạt động trong 1 ứng dụng.

3131

3232

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

(cid:190)Trang ASP.Net được biên dịch thành những tập tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả. Yếu tố này là một bước nhảy vọt đáng kể so với kỹ thuật thông dịch của ASP. (cid:190)ASP.Net sử dụng phong cách lập trình Code behide(Tách code riêng, giao diện riêng) Dễ đọc, dễ quản lý và bảo trì. (cid:190)Kiến trúc lập trình giống ứng dụng trên Windows.

1.1.3 Quá trình xử lý tập tin .Aspx

Không cần lock, không cần đăng ký DLL

Cho phép nhiều hình thức cấu hình ứng dụng

(cid:190)Hỗ trợ quản lý trạng thái của các control Khi Web server nhận được yêu cầu từ phía client, nó sẽ tìm kiếm tập tin được yêu cầu thông qua chuỗi URL được gởi về, sau đó, tiến hành xử lý theo sơ đồ sau (cid:190)Tự động phát sinh mã HTML cho các Server control tương ứng với từng loại Browser (cid:190)Triển khai cài đặt

Global.aspx có nhiều sự kiện hơn

Quản lý session trên nhiều Server, không cần Cookies

3333

3434

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

(cid:190)Hỗ trợ quản lý ứng dụng ở mức toàn cục

1.1.4 Tìm hiểu về .Net Phatform và .Net Framework

.Net Framework - Bộ thư viện các lớp đối tượng

.Net Phatform Bao gồm .Net Framework và những công cụ được dùng để xây dựng, phát triển ứng dụng và dịch vụ. ASP.Net.

3535

3636

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Kiến trúc .Net Framework

Hệ Điều Hành - Operating System

Với vai trò quản lý việc xây dựng và thi hành ứng dụng .NET Framework cung cấp các lớp đối tượng (Class) để thi hành các chức năng. Tuy nhiên được "hưởng ứng" hay không tùy thuộc khả năng của HĐH.

Framework chính là một tập hợp hay thư viện các lớp đối tượng hỗ trợ người lập trình khi xây dựng ứng dụng như Microsoft Foundation Class(MFC) là bộ thư viện trong Visual C++, Java Foundation Class(JFC) là bộ thư viện trong Java. .NET Framework là bộ thư viện dành cho các lập trình viên .NET.

Với hơn 5000 lớp đối tượng để gọi thực hiện đủ các loại dịch vụ từ hệ điều hành, chúng ta có thể xây dựng ứng dụng bằng Notepad. Hay với phần mềm Visual Studio.NET với giao diện trực quan Với chức năng đơn giản như Messagebox sẽ được .NET Framework sử dụng hàm API của Windows. Chức năng phức tạp như sử dụng các COMponent sẽ yêu cầu phải cài đặt Microsoft Transaction Server (MTS) hay các chức năng trên Web cần phải cài đặt Internet Information Server (IIS).

3737

3838

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Nếu không có.NET Framework,Visual Studio.NET chỉ là vỏ bọc! Nhưng nếu không có Visual Studio.NET, công việc lập trình .NET cũng lắm bước gian nan! Như vậy chọn HĐH để sử dụng .NET Framework là quan trọng. (Windows XP, 2003 Server, Vista sẽ đơn giản và tiện dụng trong khi lập trình)

Common Language Runtime - CLR Base Class Library – Thư viện các lớp cơ sở

Là thành phần "kết nối" giữa các phần khác trong .NET Framework với hệ điều hành. CLR giữ vai trò quản lý việc thi hành các ứng dụng viết bằng .NET.

Đây là thư viện các lớp cơ bản nhất, được dùng trong khi lập trình hay bản thân những người xây dựng .NET Framework cũng phải dùng nó để xây dựng các lớp cao hơn. Các lớp trong thư viện này là String, Integer, … Ado.Net và Xml

CLR sẽ thông dịch các lời gọi từ chương trình cho Windows thi hành, đảm bảo ứng dụng không chiếm dụng và sử dụng tràn lan tài nguyên của hệ thống, không cho phép các lệnh "nguy hiểm" được thi hành. Các chức năng này được thực thi bởi các thành phần bên trong CLR như: Class loader, Just In Time compiler, COM marshaller, Security engine,…

3939

4040

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Bộ thư viện này gồm các lớp dùng để xử lý dữ liệu. ADO.NET thay thế ADO. Các lớp đối tượng XML được cung cấp để bạn xử lý các dữ liệu theo định dạng mới: XML. Các ví dụ cho bộ thư viện này là SqlDataAdapter, SqlCommand, DataSet, XMLReader, XMLWriter,… Trong các bản mới (XP.NET,2003, Vista) CLR được gắn kèm với hệ điều hành. Điều này đảm bảo ứng dụng viết ra sẽ chạy mà không cần cài đặt.

Window form Asp.Net Bộ thư viện các lớp đối tượng dùng trong việc xây dựng các ứng dụng Web. Ứng dụng web xây dựng bằng ASP.NET tận dụng được toàn bộ khả năng của .NET Framework. Bộ thư viện về Window form gồm các lớp đối tượng dành cho việc xây dựng các ứng dụng Windows. Việc xây dựng ứng dụng loại này vẫn được hỗ trợ tốt từ trước tới nay bởi các công cụ và ngôn ngữ lập trình của Microsoft. Một "phong cách" lập trình mới code behind. Sự xuất hiện của ASP.NET làm cân xứng giữa quá trình xây dựng ứng dụng trên Windows và Web.

Giờ đây, ứng dụng chỉ chạy trên Windows sẽ có thể làm việc với ứng dụng Web dựa vào Web service. Ví dụ về các lớp trong thư viện này là: Form, User Control,…

4141

4242

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

ASP.NET cung cấp một bộ các Server Control để lập trình viên bắt sự kiện và xử lý dữ liệu của ứng dụng như đang làm việc với ứng dụng Windows. Cho phép chúng chuyển ứng dụng chạy trên Windows thành một ứng dụng Web khá dễ dàng. …

Web services

Web services là các dịch vụ được cung cấp qua Web (hay Internet). Dịch vụ được coi là Web service không nhằm vào người dùng mà nhằm vào người xây dựng phần mềm. Ví dụ, công ty du lịch đang sử dụng một hệ thống phần mềm để ghi nhận thông tin về khách du lịch đăng ký đi các tour. Để thực hiện việc đặt phòng tại địa điểm du lịch, công ty cần biết thông tin về phòng trống tại các khách sạn. Web service có thể dùng để cung cấp các dữ liệu hay một chức năng tính toán. Web service được cung cấp dựa vào ASP.NET và sự hỗ trợ từ phía HĐH của Internet Information Server. Khách sạn có thể cung cấp 1 Web service để cho biết thông tin về các phòng trống tại 1 thời điểm. Dựa vào đó, phần mềm sẽ biết liệu có đủ chỗ để đặt phòng cho khách du lịch không? Nếu đủ, phần mềm lại dùng 1 Web service khác cung cấp chức năng đặt phòng.

4343

4444

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Điểm lợi của Web service là không cần liên lạc với khách sạn để hỏi thông tin phòng rồi sau đó lại xác định loại phòng nào cần đặt, số lượng đặt bao nhiêu, rồi lại liên lạc lại với khách sạn để đặt phòng.

Phân nhóm các lớp đối tượng theo loại Lợi điểm của namespace là phân nhóm các lớp đối Namespace là tên gọi một nhóm các lớp đối tượng tượng, giúp dễ nhận biết và sử dụng. phục vụ cho một mục đích.

Chẳng hạn, các lớp đối tượng xử lý dữ liệu sẽ đặt trong một namespace là Data. Các lớp đối tượng dành cho vẽ đặt trong namespace tên là Drawing. Ngoài ra, namespace tránh việc các lớp đối tượng có tên trùng với nhau không sử dụng được. .NET Framework cho phép chúng ta tạo ra các lớp đối tượng và các namespace của riêng mình. Một namespace có thể là con của một namespace lớn. Namespace lớn nhất là System.

4545

4646

Với hơn 5000 tên có sẵn. Namespace cho phép sử dụng 1 tên đầy đủ để nói đến 1 lớp đối tượng. Ví dụ, dùng lớp WebControls, chúng ta có thể dùng tên tắt là WebControls hay tên đầy đủ là: System.Web.UI.WebControls.

Hệ thống tên miền (Namespace)

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

1.2. Tạo ứng dụng web với MS Visual 2005

Đặc điểm của bộ thư viện các đối 1.2.1. Khởi động MS Visual Studio .Net

1.2.2. Tạo ứng dụng Web tượng .NET Framework là sự trải rộng để hỗ trợ tất cả các ngôn ngữ lập trình .NET.

Điều này sẽ giúp những người mới bắt đầu ít bận tâm hơn trong việc lựa chọn ngôn ngữ lập trình cho mình vì tất cả các ngôn ngữ đều mạnh ngang nhau.

4747

4848

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Cũng bằng cách sử dụng các lớp đối tượng để xây lập trình dựng ứng dụng, .NET Framework buộc người phải sử dụng kỹ thuật lập trình hướng đối tượng

1.2.1. Khởi động MS Visual Studio .Net

1.2.2. Tạo ứng dụng Web

(cid:206) Start (cid:206) Programs (cid:206) Microsoft Visual Studio 2005 (cid:206) Microsoft Visual Studio 2005

4949

5050

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Từ menu File (cid:206) New (cid:206) Website (cid:206)Chọn ASP.Net Website (cid:206)Chọn vị trí lưu trữ - Location (D:\Wellcom) (cid:206)Chọn ngôn ngữ lập trình (C#) (cid:206)Chọn Ok

Trang Default.aspx (Source) Kết quả: Cửa sổ Solution Explorer

5151

5252

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Trang Default.aspx (Design) Trang Default.aspx.cs

1.2.3 Bổ sung điều khiển vào trang:

Chuyển sang trang code Defaulr.aspx.cs (Double click vào trang đang thiết kế) Nhập code cho sự kiện Page Load:

•Chọn trang Default.aspx ở chế độ Design •Nhập dòng văn bản: “Chào mừng các bạn đến vời ASP.Net” •Thêm 2 điều khiển Label đặt tên là : lbNgay, lbThoigian.

Lưu ý: Phải lưu tập tin với tùy chọn Save with Encoding…

5353

5454

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

1.2.4 Thi hành ứng dụng :

Kiểm lỗi : Menu Build (cid:206) Chọn Build Web Site Chạy chương trình (không debug):Ctrl + F5 Chạy chương trình (có debug): F5

5555

5656

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Chấp nhận bật chế độ debug cho Website

1.3. Các thành phần giao diện trên MS Visual .Net

1.2.5 Phân loại tập tin trong ASP.Net:

1.3.1 Solution Explorer

Diễn giải

.asax

Tập tin quản lý các sự kiện của ứng dụng (application), session, và các sự kiện khi có các yêu cầu tới trang web.

.ascx

Các điều khiển do người dùng tự tạo được lưu trữ với phần mở rộng là ascx (UserControl).

.asmx

Tập tin Web Service của ứng dụng ASP.Net

.aspx

Phần mở rộng của trang ASP.Net

.config

Tập tin cấu hình ứng dụng theo định dạng XML. Web.config chứa hầu hết các cấu hình của ứng dụng

.cs

Tập tin mã nguồn viết theo ngôn ngữ C#

.js

Tập tin mã nguồn của Jscript

5858

5757

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

1.3..2 Property Window 1.3.3 Toolbox 1.3.4 Document Outline Window

1.3.1 Solution Explorer

Thêm thành phần mới cho ứng dụng: Click phải Add | Add New Item… Hiển thị cửa số Solution Explorer:

(cid:190)Web Form: Thêm trang Web (cid:190)Class: Thêm lớp đối tượng (cid:190)Module Web Form: Thêm thư viện (cid:190)Web User Control: Thêm điều khiển người dùng (cid:190) …

5959

6060

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Menu View | Solution Explorer Đây là cửa số quản lý các "tài nguyên" có trong ứng dụng. Thông qua cửa sổ này, chúng ta có thể thực hiện các chức năng như: Tạo thư mục, sao chép, cắt, dán như trong Windows Explorer. Và thêm thành phần mới cho ứng dụng:

6161

6262

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Xác định Project khởi động(trong trường hợp Solution có nhiều Project): Click phải chuột (cid:206) chọn Set as StartUp Project. Xác định trang web khởi động cho ứng dụng: Chọn trang cần khởi động (cid:206) Click phải chuột (cid:206) Chọn Set As Start Page.

1.3.2 Property Window

1.3.3 Toolbox

6363

6464

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Hiển thị cửa số Properties Window: Hiển thị Toolbox: Menu View (cid:206)| Properties Window. Dùng để thiết lập thuộc tính cho trang web và Menu View (cid:206) Toolbox Dùng để tạo các điều khiển trân trang. các điều khiển có trong trang web.

1.4. Triển khai ứng dụng web(IIS)

1.3.4 Document Outline Window

Hiển thị cửa sổ Document Outline: 1.4.1 Phần mềm Web Server(IIS)

1.4.2 Triển khai ứng dụng web

6565

6666

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Menu View / Other Windows / Document Outline. Cửa sổ này hiển thị các thành phần của trang web theo tổ chức cây (cid:206) rất dễ quản lý và thao tác với các đối tượng có trong trang Web.

1.4.1 Phần mềm Web Server(IIS)

(cid:153) Giới thiệu về phần mềm Web Server(IIS) (cid:153) Cài đặt IIS Trên Windows 2000/XP

Internet Information Services (IIS) là phần mềm Web Server của Microsot dành cho HĐH Windows Bước 1. Chọn Control Panel | Add/Remove programs. Bước 2. Add/Remove Windows Components. Bước 3. Đánh dấu Internet Information Services (IIS). Bước 4. Chọn nút Next để cài đặt.

IIS có thể được sử dụng như 1 Web server, kết hợp với ASP, ASP.NET để xây dựng các ứng dụng Web tận dụng các điểm mạnh của Server-side Script, COM component,…theo mô hình Client/Server.

6767

6868

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

IIS có rất nhiều phiên bản: (cid:190)Windows 2000 tích hợp IIS 5.0. (cid:190)Windows XP tích hợp IIS 5.5 (cid:190)Windows XP tích hợp IIS 6 hỗ trợ các tính năng dành cho .NET và Web Service. (cid:190)Windows Vista tích hợp IIS 7.0

(cid:153) Trên Windows Vista/ Windows 7

Bước 1: Start (cid:198) Settings (cid:198) Control Panel Bước 2: Classic View (cid:198) Chọn Programs and features Bước 3: Turn Windows features on or off Bước 4: Đánh dấu mục Internet Information Services (IIS) Bước 5: Chọn nút OK để cài đặt.

6969

7070

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Sau khi cài đặt IIS, thư mục InetPub được tạo ra trong C: và chứa thư mục con wwwroot. Để kiểm tra cài đặt: Khởi động trình duyệt truy cập địa chỉ : http://localhost hoặc http://127.0.0.1

(cid:153) Cấu hình Web Server Để kiểm tra cài đặt: Khởi động trình duyệt truy cập địa chỉ : http://localhost hoặc http://127.0.0.1 Trên Windows 2000/XP

7171

7272

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Start (cid:206) Settings (cid:206) Control Panel (cid:206) Administratrive tools (cid:206) Internet Infomtic Services (cid:206) Click phải Default Web site

Trên Windows Vista/ Windows 7

(cid:206) Start (cid:206) Settings (cid:206) Control Panel (cid:206) Administratrive tools (cid:206) IIS Manager

7373

7474

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Qui định thư mục gốc ứng dụng: Home Directory Để thực thi ứng dụng từ địa chỉ http://localhost thì phải lưu ứng dụng tại thư mục này Quy định trang chủ mặc định: Documents Nghĩa là trang mặc định được mở khi truy cập địa chỉ: http://localhost

(cid:206) Next

Khai báo nhãn thư mục ảo (Myweb)

Khai báo thư mục vật lý (D:\MyWebsite)

(cid:153) Tạo thư mục ảo – Virtual Directory: Để truy cập website lưu ở vị trí khác cần phải ánh xạ thư mục ảo. Quy định thư mục gốc ứng dụng: Directory Browsing Quy định trang chủ mặc định: Default Document Trên Windows 2000/XP Click phải Default Website(cid:206)New/ Virtual Directory

7575

7676

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

(cid:206)Next (cid:206) Finish

Từ IIS Manager: Click phải trang cần xem (Default.aspx) (cid:206) Browse

Tên ánh xạ

Hoặc Từ trình duyệt nhập: http://Localhost/Maytinh

Thư mục vật lý

Trên Windows Vista/ Windows 7 Truy cập để kiểm tra Click phải: Default Website(cid:206)Add Application

7777

7878

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

(cid:206)OK

1.4.2 Triển khai ứng dụng web (Publish web site)

Khai báo đường dẫn thư mục sẽ chứa website publish đến (cid:153) Sử dụng chức năng Publish web site

(cid:153) Biên dịch ứng dụng và copy website đến thư mục cụ thể. (cid:153) Các tập tin code behide đã được biên dịch thành .dll (cid:153) Thao tác (cid:131) Click phải vào project (cid:206) Publish website

8080

7979

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

(cid:153) Mở cửa sổ Explorer, ta sẽ thấy thư mục được tạo (cid:153) Vào IIS tạo thư mục ảo ánh xạ đến thư mục đã tạo (cid:153) Kiểm tra : http://localhost/ (cid:153) Sử dụng thư mục đã tạo để Upload lên Webserver

(cid:153) Sử dụng công cụ Web deployment Setup

Chương 2 Các Đối Tượng Trong ASP.Net

Công dụng cũng giống như chức năng Publish web site nhưng không có sẳn trong bộ MS VS 2005 mã phải tự cài đặt

8181

8282

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

2.1. Đối tượng Response Và Request 2.2. Đối tượng Application Và Session 2.3. Đối tượng Server Và Cookies 2.4. Tập tin Global.asax Và Web.config

2.1. Đối tượng Response Và Request

2.1.1 Đối tượng Response

2.1.1. Đối tượng Response

2.1.2. Đối tượng Request Đối tượng Response được sử dụng để giao tiếp với Client, nó quản lý và điều phối thông tin từ Web Server đến các trình duyệt của người dùng.

(cid:153) Phương thức Write

Response.Write ("Chào các bạn!"); String s = DateTime.Today.ToShortDateString(); Response.Write("
" + "Hôm nay là: " + s + ""

8484

8383

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Dùng để ghi kết quả lên trình duyệt của máy khách, có thể là văn bản, thẻ HTML, Mã Script . . .

(cid:153) Phương thức Redirect Ví dụ: Sử dụng đối tượng Response để thực hiện việc download tập tin. Dùng để chuyển yêu cầu truy cập của máy khách đến 1 URL khác

Private Sub lnkDownload_Click( . . . )

String sTap_tin = "De cuongonthiTN2010.pdf"; String sDuong_dan ; sDuong_dan = Server.MapPath("~/") + sTap_tin; Response.AddHeader("Content-Disposition","attachment;

filename=" + sTap_tin);

ReSponse.Redirect(“URL chuyển đến”)

Response.WriteFile(sDuong_dan); Response.End();

Ví dụ: 'Nếu đăng nhập thành công If () Response.Redirect(“Default.aspx"); Else

End Sub

Response.Redirect(“Login.aspx"); Truyền tham số

ReSponse.Redirect(“?biến=” +);

(cid:153) Phương thức WriteFile: Ghi dữ liệu từ File

Nhận tham số

8585

8686

Request.Querystring[0];

Khoa CNTT,Trường CĐ CNTT TP.HCM

Khoa CNTT,Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

2.1.2 Đối tượng Request

Đối tượng Request được dùng để nhận thông tin từ trình duyệt của người dùng gởi về cho WebServer. Thuộc tính QueryString cho phép chúng ta nhận các giá trị truyền qua chuỗi tham số này. (cid:153) Thuộc tính QueryString Request.QueryString[“Tên_tham_số”];

Như đã biết URL(Uniform Resource Locators) của 1 trang có cấu trúc như sau: VD: Giả sử người dùng gởi thông điệp đến Web Server yêu cầu trang: “ChitietSP?Ma=2". Để lấy giá trị tham số này ta thực hiện: QueryString - gọi là chuỗi tham số cấu trúc như sau: String Masp = Request.QueryString["Ma"]; Response.Write(Masp);

8787

8888

http://www.thayphet.net

http://www.thayphet.net

Written by: Dương Thành Phết

Written by: Dương Thành Phết

Các cặp [=] phân cách nhau bằng dấu &

2.2. Đối tượng Application Và Session

2.2.1. Đối tượng Application

Application và Session là 2 đối tượng khá quan trọng trong ứng dụng web, giúp các trang aspx có thể liên kết và trao đổi dữ liệu cho nhau Được sử dụng để quản lý tất cả các thông tin của một ứng dụng web. Thông tin được lưu trữ trong đối tượng Application có thể được xử lý trong bất kỳ trang aspx nào trong suốt chu kỳ sống của ứng dụng.

(cid:153) Sử dụng biến Application Tạo biến Application Application["Tên biến“] = ; Lấy giá trị từ biến Application = Application["Tên biến“]; Ví dụ:

8989

9090

http://www.thayphet.net

http://www.thayphet.net

Written by: Dương Thành Phết

Written by: Dương Thành Phết

Application.Lock(); Application["So_lan_truy_cap“] = 0; Application.UnLock(); s = Application["So_lan_truy_cap"];

2.2.2. Đối tượng Session

Thuộc tính Timeout

(cid:153) Được dùng để lưu trữ thông tin của người dùng trong ứng dụng.

(cid:153) Qui định khoảng thời gian (tính bằng phút) mà Web Server duy trì đối tượng Session nếu người dùng không gởi yêu cầu về lại Server. Giá trị mặc định là 20 phút. (cid:153) Thông tin được lưu trữ trong Session là của một người dùng trong một phiên làm việc cụ thể.

(cid:153) Nếu không có yêu cầu nào kể từ lần yêu cầu sau cùng một khoảng thời gian là phút, đối tượng Session mà Web server cấp cho lần làm việc đó sẽ tự động được giải phóng. (cid:153) Web Server sẽ tự động tạo một đối tượng Session cho mỗi người dùng mới kết nối vào ứng dụng và tự động hủy chúng nếu người dùng còn không làm việc với ứng dụng nữa.

9191

9292

http://www.thayphet.net

http://www.thayphet.net

Written by: Dương Thành Phết

© Dương Thành Phết-www.thayphet.net

(cid:153) Đối tượng Session khá hữu hiệu trong việc thực hiện "lưu vết và quản lý thông tin của người dùng". (cid:153) Những yêu cầu sau đó được Web server coi như là một người dùng mới, và đương nhiên sẽ được cấp một đối tượng Session mới.

Sử dụng biến toàn cục với Session Phương thức Abandon Tạo biến Session Session["Tên biến“] = ; (cid:153)Trong khoảng thời gian đối tượng Session được duy trì dù không có sự tương tác của Client. Lấy giá trị từ biến Session = Session["Tên biến“]

(cid:153) Nghĩa là Web server phải sử dụng một vùng nhớ để duy trì đối tượng Session trong một khoảng thời gian tương ứng. Ví dụ: Lưu trữ thông tin khi người dùng đăng nhập hệ thống thành công Session["TenDN“] = “phetit"

(cid:153) Phương thức Abandon của đối tượng Session sẽ giải phóng vùng nhớ được dùng để duy trì đối tượng Session trên Web Server ngay khi được gọi thực hiện.

9393

9494

http://www.thayphet.net

http://www.thayphet.net

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

(cid:153) Những yêu cầu sau đó được Web server coi như là một người dùng mới.

2.3. Đối tượng Server Và Cookies

2.3.1 Đối tượng Server

2.3.1 Đối tượng Server Được sử dụng để cung cấp thông tin của Server cho ứng dụng.

2.3.2 Đối tượng Cookies (cid:153) Thuộc tính MachineName: Dùng để lấy tên của Web Server.

(cid:153) Phương thức Mappath: Dùng để lấy đường dẫn vật lý hoặc đường dẫn ảo đến một thư mục trên Server. thức Transfer(<Đường dẫn

9595

9696

http://www.thayphet.net

http://www.thayphet.net

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

(cid:153) Phương trang>): Ngừng thi hành trang hiện hành, gởi yêu cầu mới đến trang được gọi thực hiện.

2.3.2 Đối tượng Cookies

Thêm Cookies

Response.Cookies.Add();

Ví dụ:Tạo Cookies TenDN lưu tên đăng nhập của người dùng 3 ngày kể từ ngày hiện hành trên Web Server.

HttpCookie cookTenDN = new HttpCookie("TenDN");

cookTenDN.Value = "phetit"; cookTenDN.Expires = DateTime.Today.AddDays(3); Response.Cookies.Add(cookTenDN);

Lấy giá trị từ Cookies

Request.Cookies[“Tên Cookies”].Value;

HttpCookie cookTenDN =

Request.Cookies["TenDN"];

(cid:153) Nếu đã đăng ký là thành viên của một trang web thì khi yêu cầu đến trang web đó, sẽ nhận ra là thành viên. Vì những thông tin được lưu tại máy Client trong đối tương Cookies.

if (cookTenDN != null)

Response.Write(Request.Cookies["TenDN"].Value);

9797

9898

http://www.thayphet.net

http://www.thayphet.net

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

(cid:153) Như vậy Cookie như một tập tin (kích thước nhỏ) được lưu tại máy của người dùng. Dùng để nhận ra người đang viếng thăm

2.4. Tập tin Global.asax Và Web.config

2.4.1 Tập tin Global.asax

2.4.1 Tập tin Global.asax

2.4.2 Tập tin Web.config

9999

100100

http://www.thayphet.net

http://www.thayphet.net

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Được dùng để: (cid:153) Khai báo và khởi tạo giá trị cho các biến Application, Session. (cid:153) Viết xử lý cho các sự kiện của 2 đối tượng Application và Session. (cid:153) Một project chỉ có 1 tập tin Global.asax Cách tạo:

Cấu trúc tập tin Global.asax Application_Start: Xảy ra một lần đầu tiên khi bất kỳ trang nào trong ứng dụng được gọi. void Application_Start(object sender, EventArgs e) {

101101

102102

http://www.thayphet.net

http://www.thayphet.net

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

// Code that runs on application startup Application["So_luot_truy_cap"] = 0; Application["So_nguoi_online"] = 0; }

void Session_Start(object sender, EventArgs e)

{

//Code that runs when a new session is started Application["So_luot_truy_cap"] =

int.Parse(Application["So_luot_truy_cap"].ToString()) + 1;

Application["So_nguoi_online"] =

int.Parse(Application["So_nguoi_online"].ToString()) + 1;

}

103103

104104

http://www.thayphet.net

http://www.thayphet.net

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Session_Start: Xảy ra khi người dùng mới yêu cầu đến bất kỳ trang aspx của ứng dụng. Application_End: Xảy ra khi dừng hoạt động của WebServer. Ví dụ xử lý ghi nhận thông tin Số lượt truy cập vào cơ sở dữ liệu (nếu cần).

2.4.2 Tập tin Web.config

void Session_End(object sender, EventArgs e)

{

Web.config là một tập tin văn bản viết theo định dạng XML sử dụng để lưu trữ thông tin cấu hình của một ứng dụng Được tự động tạo ra khi chúng ta tạo mới ứng dụng. Session_End: Xảy ra khi phiên làm việc không có gởi yêu cầu hoặc làm tươi trang aspx của ứng dụng web trong một khoảng thời gian (mặc định là 20 phút) (Kết thúc phiên làm việc).

// Code that runs when a session ends. Application["So_luot_truy_cap"] =

int.Parse(Application["So_luot_truy_cap"].ToString()) - 1;

Application["So_nguoi_online"] =

int.Parse(Application["So_nguoi_online"].ToString()) - 1;

Bổ sung thông tin cho ứng dụng

}

105105

106106

http://www.thayphet.net

http://www.thayphet.net

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Truy xuất thông tin System.Configuration.ConfigurationSettinger.AppSettings[“Khoá”];

Ví dụ: Tạo biến cấu hình dùng để lưu chuỗi kết nối CSDL SQLServer

Chương 3 Các Điều Khiển WebServer

"Data Source=PC\SQLEXPRESS; Initial Catalog=QLBansach;Integrated Security=True“ providerName="System.Data.SqlClient" />

string StrCnn = ConfigurationManager.ConnectionStrings["KetnoiCSDL"].

ConnectionString.ToString();

107107

108108

http://www.thayphet.net

Khoa CNTT Trường CĐ CNTT TP.HCM

Written by: Dương Thành Phết

© Dương Thành Phết-www.thayphet.net

Lấy thông tin chuỗi kết nối 3.1. Tổng quan về ASP.Net Server Controls 3.2. HTML Server Control 3.3. Web Server Controls 3.4. Các điều khiển khác 3.5. Đối tượng ViewState

3.2. HTML Control

(cid:190) HTML Control được tạo ra từ các tag HTML tĩnh thường được sử dụng lập trình ở phía client (cid:190)Để chuyển các HTML Control thành các HTML Server Control, ta chọn Run As Server Control từ menu ngữ cảnh hoặc gán thuộc tính runat=“Server” cho HTML Control

HTML Control trên Toolbox

109109

110110

Khoa CNTT Trường CĐ CNTT TP.HCM

Khoa CNTT Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

(cid:190)Khi sử dụng HTML Control để lập trình phía Server ta gán thuộc tính runat="Server" cho HTML Control đó được gọi là HTML Server Control.

3.3. ASP.NET Webserver Control

Ý nghĩa

Thuộc tính

(ID)

Tên của điều khiển. Tên của điều khiển là duy nhất.

AccessKey

Ký tự để di chuyển nhanh đến điều khiển - phím nóng.

Attributes

Tập hợp các thuộc tính của điều khiển HTML

BackColor

Màu nền của điều khiển.

BorderColor

Màu đường viền của điều khiển.

BorderStyle

Kiểu đường viền của điều khiển.

Những lý do nên sử dụng Standard Web Control:

BorderWidth

Độ rộng của đường viền.

CssClass

Hình thức hiển thị của điều khiển qua tên CSS.

Enabled

Điều khiển có được hiển thị hay không. Mặc định là True.

Font

Font hiển thị cho điều khiển

ForeColor

Màu chữ hiển thị trên điều khiển

Height

Chiều cao của điều khiển

ToolTip

Dòng chữ sẽ hiển thị khi rê chuột vào điều khiển.

Width

Độ rộng của điều khiển.

111111

112112

Bảng liệt kê các thuộc tính chung của các Web control

Khoa CNTT Trường CĐ CNTT TP.HCM

Khoa CNTT Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

(cid:190)Đơn giản, tương tự như Windows Form Controls. (cid:190)Đồng nhất: Có các thuộc tính giống nhau (cid:206) dễ tìm hiểu và sử dụng. (cid:190)Hiệu quả: Tự động phát sinh ra các tag HTML theo từng loại Browser

3.3.2 TextBox 3.3.1. Label Được dùng để nhập và hiển thị dữ liệu văn bản. Được sử dụng để hiển thị và trình bày nội dung văn Các thuộc tính: bản, chấp nhận hiển thị nội dung với các tag HTML. Ví dụ:

(cid:57)Text: Nội dung chứa trong Textbox (cid:57)TextMode: lblA.Text = "Đây là chuỗi văn bản thường"; lblB.Text ="Còn đây là chuỗi được in đậm";

SingleLine: Hiển thị và nhập liệu 1 dòng MultiLine: Hiển thị và nhập liệu nhiều dòng Password: Hiển thị dấu * thay cho các ký tự.

113113

114114

Khoa CNTT Trường CĐ CNTT TP.HCM

Khoa CNTT Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

(cid:57)Rows: Số dòng hiển thị nếu textbox có nhiều dòng. (cid:57)Maxlength: Số ký tự tối đa được nhập (cid:57)Wrap: Văn bản có được phép tự động xuống dòng khi độ rộng của textbox không đủ.

3.3.3. Image 3.3.4. Button, ImageButton, LinkButton Được dùng để hiển thị hình ảnh lên trang Web. Mặc định là các nút Submit Button, khi được nhấn Các thuộc tính: vào sẽ PostBack về Server. Các thuộc tính: - Text: Chuỗi văn bản hiển thị trên điều khiển. ImageURL: Đường dẫn tập tin hình ảnh. AlternateText: Chuỗi văn bản sẽ hiển thị chú thích. ImageAlign: Vị trí hiển thị giữa hình và nội dung. NotSet,Left, Middle,TextTop,Right - CommandName: Tên lệnh được sử dụng trong sự kiện Command.

115115

116116

Khoa CNTT Trường CĐ CNTT TP.HCM

Khoa CNTT Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

- Ngoài những thuộc tính trên, điều khiển ImageButton còn có các thuộc tính ImageURL, ImageAlign và AlternateText như điều khiển Image.

3.3.5. HyperLink Ví dụ: Tạo trang web với các điều khiển: Label, Textbox, Button thực hiện chức năng tính toán như sau: Được sử dụng để tạo ra các liên kết siêu văn bản. Các thuộc tính:

trên điều khiển.

ImageURL: Tập tin ảnh hiển thị trên điều khiển. Text: Nhãn văn bản hiển thị NavigateUrl: Đường dẫn cần liên kết đến. Target: Xác định cửa sổ sẽ hiển thị cho mối liên kết

Xử lý sự kiện: protected void btTinhtien_Click(object sender, EventArgs e)

{

int soluong=int.Parse(txtSoluong.Text ); int dongia=int.Parse(txtDongia.Text ); int Thanhtien=soluong * dongia; txtThanhtien.Text = Thanhtien.ToString();

}

117117

118118

Khoa CNTT Trường CĐ CNTT TP.HCM

Khoa CNTT Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

_blank: Hiển thị trang liên kết ở cửa sổ mới. _self: Hiển thị trang liên kết tại cửa sổ chứa liên kết _parent: Hiển thị trang liên kết ở frame cha.

Ví dụ: Tạo trang web gồm 3 điều khiển Hyperlink 3.3.6. Listbox và DropdownList Là điều khiển hiển thị danh sách lựa chọn, có thể

chọn một hoặc nhiều. Các thuộc tính:

119119

120120

Khoa CNTT Trường CĐ CNTT TP.HCM

Khoa CNTT Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

+ AutoPostBack: Có tự động PostBack về Server khi chỉ số của mục chọn bị thay đổi. Mặc định False + Items: Tập chứa các mục chọn của điều khiển. thêm vào mục chọn qua thuộc tính ListItem Collection Editor. + Rows: Chiều cao của ListBox theo số dòng. + SelectionMode: Cách chọn các mục trong ListBox. Single: Chỉ chọn một mục có trong danh sách. Multiple: Cho phép chọn nhiều mục.

Xử lý mục chọn Tập hợp Items Add: Thêm mục mới vào cuối danh sách Items.Add(); (cid:57)Thuộc tính Selected của đối tượng Items[i] để kiểm tra xem mục thứ i đó có được chọn hay không. Insert: Thêm mục mới vào danh sách tại một vị trí Items.Insert(,); Count: Trả về số mục (Item) có trong danh sách. (cid:57)SelectedIndex: Cho biết chỉ số của mục được chọn. Trong trường hợp chọn nhiều mục SelectedIndex sẽ trả về chỉ số mục chọn đầu tiên. Items.Count; Remove: Xóa đối tượng Item tại ra khỏi danh sách. Items.Remove(); (cid:57)SelectedItem: Cho biết mục được chọn. Trong trường hợp chọn nhiều mục, SelectedItem sẽ trả về mục chọn đầu tiên. RemoveAt: Xóa item tại vị trí index khỏi danh sách.

121121

122122

Khoa CNTT Trường CĐ CNTT TP.HCM

Khoa CNTT Trường CĐ CNTT TP.HCM

© Dương Thành Phết-www.thayphet.net

© Dương Thành Phết-www.thayphet.net

Items.RemoveAt(); Clear: Xóa tất cả Item có trong danh sách. Items.Clear(); (cid:57)SelectedValue: Cho biết giá trị của mục được chọn. Trong trường hợp chọn nhiều mục, SelectedValue sẽ trả về giá trị mục chọn đầu tiên.

Xử lý sự kiện:

protected void Page_Load(. . . ) {

if (!IsPostBack) {

lstDiadanh.Items.Add("Vịnh Hạ Long"); lstDiadanh.Items.Add("Phan Thiết - Mũi Né"); lstDiadanh.Items.Add("Nha Trang");

lstDiadanh.Items.Add("Đà Lạt");

lstDiadanh.Items.Add("Phú Quốc"); lstDiadanh.Items.Add("Huế - Hội An"); int n = lstDiadanh.Items.Count; lbSoDD.Text = n.ToString();

}

} protected void btChon_Click(. . .) {

lbDiadanh.Text = "";

for (int i = 0; i <= lstDiadanh.Items.Count - 1; i ++) {

if (lstDiadanh.Items[i].Selected)

lbDiadanh.Text += "

  • " + lstDiadanh.Items[i].Value;

    }

    }

    124124

    123123

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Ví dụ: Tạo trang Web gồm 1 listbox, 2 label , 1 Button khi click nút chọn sẽ hiện tên các địa danh được chọn.

    Ví dụ: Tạo trang web gồm Nhóm các RadioButton Giới tính, Thu nhập, Nhóm Checkbox Ngoại ngữ 3.3.7. Checkbox, RadioButton Các thuộc tính

    (cid:57)Checked: Trạng thái của mục chọn (chọn hay không) (cid:57)TextAlign: Vị trí của điều khiển so với chuỗi văn bản.

    125125

    126126

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:57)AutoPostBack: Có được tự động PostBack về Server khi các mục chọn bị thay đổi, mặc định là False. (cid:57)GroupName (RadioButton): Tên nhóm, thuộc tính này được sử dụng để nhóm các điều khiển RadioButton lại thành 1 nhóm.

    Các thuộc tính

    (cid:57)RepeatColumns: Số cột hiển thị. (cid:57)RepeatDirection: Hình thức hiển thị

    Kéo thả RadioButtonList (Hoặc CheckbocList) vào Form

    Vertical: Theo chiều dọc Horizontal: Theo chiều ngang 3.3.8. CheckBoxList, RadioButtonList (cid:131) Dùng để tạo ra một nhóm các CheckBox/Radio Button, Là điều khiển danh sách nên có thuộc tính Items chứa tập hợp các mục chọn như ListBox/DropDownList. (cid:131) Các thao tác trên tập hợp Items, xử lý mục chọn cũng tương tự như ListBox/DropDownList. Tạo mới:

    (cid:206) Chọn Edit Items

    127127

    128128

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:57)AutoPostBack: Có được phép tự động PostBack về Server khi các mục chọn của điều khiển bị thay đổi. Mặc định là False.

    Ví dụ: Tạo trang web gồm Nhóm RadioButton Thu nhập Ví dụ: Tạo trang web khi click nút Đăng ký thì hiện thị các thông tin được chọn.

    Private Sub rblThu_nhap_SelectedIndexChanged(…)…

    lblThu_nhap.Text = "Bạn chọn thu nhập: " +

    rblThu_nhap.SelectedItem.Text;

    End Sub

    129129

    130130

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Xử lý sự kiện:

    Ví dụ:

    3.4. Các điều khiển khác

    protected void Page_Load(object sender, EventArgs e) {

    3.4.1. Điều khiển Literal Khi thiết kế. Tương tự như điều khiển Label, Literal được sử dụng để hiển thị chuỗi văn bản trên trang Web. Lệnh xử lý:

    Label1.Text="Đây là chuỗi ký tự trong label"; Literal1.Text = " Đây là chuỗi ký tự trong Literial";

    }

    Điểm khác biệt là khi thi hành, Literal không tạo thêm tag Html, còn Label sẽ tạo ra tag span (được sử dụng để lập trình ở phía client).

    Xem source: Đây là chuỗi ký tự trong label

    131131

    132132

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Đây là chuỗi ký tự trong Literial

    3.4.2. Điều khiển AdRotator Thuộc tính AdvertisementFile: Tên tập tin dữ liệu (dưới dạng xml) cho điều khiển. Cú pháp của tập tin Advertisement (*.xml)

    Đường dẫn tập tin hình ảnh Đường dẫn liên kết Chuỗi văn bản Tooltip Từ khóa dùng để lọc hình ảnh Tần suất hiển thị của ảnh

    Được dùng để tạo ra các ảnh quảng cáo (tại 1 vùng sẽ có nhiều ảnh, xuất hiện theo tuần xuất), nó tự động thay đổi các hình ảnh mỗi khi có yêu cầu (PostBack về server).

    Lưu ý: Các giá trị có phân biệt chữ Hoa chữ thường

    133133

    134134

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Ví dụ: Tạo mẫu Quangcao sử dụng điều khiển AdRotator

    Bước 1. Thiết kế giao diện Sự kiện AdCreated: Xảy ra khi điều khiển tạo ra các quảng cáo

    Bước 2. Tạo tập tin dữ liệu: Quangcao.xml

    135135

    136136

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Sử dụng chức năng Add New Item… từ thực đơn ngữ cảnh Chọn XML File trong hộp thoại Add New Item

    Nhập vào nội dung cho tập tin Quangcao.xml Chuyển màn hình qua trang Data, nhập liệu trực tiếp: Click phải màn hình đang code chọn View Data Grid

    137137

    138138

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Pictures\Baihatviet.gif http://www.Baihatviet.net Web Nhạc bài hát việt Music 10

    3.4.3. Điều khiển Calendar Bước 3. Thiết lập thuộc tính cho điều khiển adQuangcao Dùng để hiển thị và cập nhật dữ liệu kiểu ngày

    AdvertisementFile: Quangcao.xml Target: _blank KeywordFilter: Không thiết lập (Hiển thị tất cả ảnh)

    139139

    140140

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Bước 4. Thi hành ứng dụng

    DayHeaderStyle: Tiêu đề của các ngày trong tuần

    Thuộc tính Sự kiện

    DayStyle: Các ngày trong điều khiển.

    NextPrevStyle: Tháng trước/sau của tháng đang chọn.

    SeleltedDayStyle: Ngày đang được chọn.

    TitleStyle: Tiêu đề của tháng được chọn

    TodayDayStyle: Ngày hiện hành (trên server).

    WeekendDayStyle: Các ngày cuối tuần (thứ 7, chủ nhật)

    OtherMonthDayStyle: Các ngày không nằm trong tháng hiện tại.

    --------

    SelectionChanged: Sự kiện này xảy ra khi chọn một ngày VisibleMonthChanged: Xự kiện xảy ra khi chọn một tháng

    141141

    142142

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    SelectedDate: Giá trị ngày được chọn trên điều khiển

    Ví dụ: Tạo Calendard trên trang web

    lbNgay.Text = "Hôm nay ngày " +

    DateTime.Today.ToString ("dd/MM/yyyy");

    } protected void Calendar1_SelectionChanged1( . . . .) {

    lbThongbao.Text ="Bạn đang chọn " +

    Calendar1.SelectedDate.ToString("dd/MM/yyyy");

    Bước 1: Tạo Calendard vào trang Xử lý sự kiện: protected void Page_Load(object sender, EventArgs e){

    }

    143143

    144144

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Bước 2: Chọn mẫu định dạng: Click phải /Auto Format

    3.4.4. Điều khiển File Upload. Các phương thức:

    Sử dụng Upload file từ chính ứng dụng Web. File sau khi Upload có thể lưu trữ ở 1 nơi nào đó trên webserver. Focus: Chuyển con trỏ đến điều khiển FileUpload. SaveAs: Cho phép lưu file được upload lên hệ thống.

    Ý nghĩa

    Thuộc tính

    Enable

    Vô hiệu hoá điều khiển FileUpload.

    FileBytes

    Lấy nội dung file đã được upload như một mảng Byte.

    FileContent

    Lấy nội dung của file đã được upload theo dòng dữ liệu

    FileName

    Lấy tên file được Upload

    HasFile

    Trả về giá trị true khi File được Upload

    145145

    146146

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Ví dụ: Tạo điều khiển File Upload

    Thiết kế và tạo FileUpload vào trang

    3.4.5. Điều khiển Panel và PlaceHolder (cid:131) Sử dùng để chứa các điều khiển khác. (cid:131) Thuộc tính Visible= True thì các điều khiển chứa bên trong sẽ được hiển thị và ngược lại.

    string sTenfile ; //Tách lấy tên tập tin sTenfile = FileUpload1.FileName; //Thực hiện chép tập tin lên thư mục Upload FileUpload1.SaveAs(MapPath("~/Upload/" + sTenfile));

    lbThongbao.Text = "Đã upload thành công" ;

    }

    148148

    147147

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Xử lý sự kiện: protected void Button1_Click(object sender, EventArgs e) { Tuy nhiên, điều khiển Panel cho phép chúng ta kéo những điều khiển vào bên trong nó lúc thiết kế, còn điều khiển PlaceHolder thì không.

    Ví dụ: Tạo trang sử dụng Panel

    Thiết kế:

    Thuộc tính (cid:131)DefaultButton: Định nghĩa button mặc định trong panel (sẽ được thực hiện khi nhấn Enter) (cid:131)Direction: Thiết đặt hướng hiển thị nội dung được đưa ra trong panel:NotSet, LeftToRight, RightToLeft.

    149149

    150150

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:131)GroupingText: Trình bày Panel như 1 Fieldset với một chú giải riêng biệt. (cid:131)HorizontalAlign: Chỉ ra hướng ngang thể hiện nội dung của panel:Center, Justify, Left, NotSet, Right. (cid:131)ScrollBars: Hiển thị scrollbars khi nội dung trong panel vượt quá kích thước: Auto, Both, Horizontal, None, Vertical.

    for (int i = 1; i < 100; i++) {

    buletnghenghiep.Items.Add("Nghề "+i.ToString());

    }

    Xử lý sự kiện: protected void Page_Load(object sender, EventArgs e) {

    } protected void chkhtsothich_CheckedChanged(. . . .) {

    if (chksothich.Checked == true) panelsothich.Visible = true;

    else

    panelsothich.Visible = false;

    } protected void chkhtnghenghiep_CheckedChanged(. . . ) {

    if (chknghenghiep.Checked == true) panelnghenghiep.Visible = true;

    else

    panelnghenghiep.Visible = false;

    151151

    152152

    }

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    3.4.6. Điều khiển hiển thị các trang – View và MultiView Cho phép ẩn hoặc hiện các phần khác nhau của trang Web, tiện ích khi tạo một TabPage để chia 1 trang web có độ dài lớn thành các phần để hiển thị. Điều khiển MultiView chứa đựng 1 hoặc nhiều điều khiển View.

    Ví dụ: Tạo trang sử dụng MultiView

    Thuộc tính Thiết kế:

    (cid:190)Tạo 1 Multiview1 gồm 3 View (View1 View2, View3) (cid:190)Tạo Control Menu1 gồm 3 Tab (Tab1, Tab2, Tab3) Tạo Control Menu vào Form (cid:131) ActiveViewIndex: Lựa chọn điều khiển View được đưa ra hiển thị bằng chỉ số Index (cid:131) Views: Cho phép lấy về tập hợp các điều khiển View chứa đựng trong điều khiển MultiView.

    Phương thức

    (cid:131) GetActiveView: Cho phép lấy về thông tin của điều khiển View được lựa chọn. (cid:131) SetActiveView: Cho phép thiết lập điều khiển View được hiển thị.

    Sự kiện

    153153

    154154

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:131) ActiveViewChanged:Khi điều khiển View được chọn

    Lần lượt khái báo các nhãn (Text) là: Tab 1, Tab 2, Tab 3 và các giá trị (Value) tương ứng là: 0 , 1, 2 Thuộc tính Orientation: Horizaltal (Menu hướng ngang)

    155155

    156156

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Chọn Edit Menu Item Bổ sung nội dung vào các view tương ứng

    3.5. Đối tượng ViewState

    157157

    158158

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Gán giá trị cho ViewState: ViewState("Tên trạng thái") = ; Nhận giá trị từ đối tượng ViewState: = ViewState("Tên trạng thái");

    Ví dụ:

    Xử lý sự kiện:

    159159

    160160

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:131) Về bản chất, các giá trị trong đối tượng ViewState được lưu trong một điều khiển hidden và các giá trị này đã được mã hóa. (cid:131) Đối tượng ViewState giúp giảm bớt công sức trong việc lưu trữ và truy xuất các thông tin mà không phải sử dụng nhiều điều khiển hidden protected void btDem_Click(object sender, EventArgs e) { lbThongbao.Text = Convert.ToString(int.Parse(lbThongbao.Text)+1); }

    Xem Source

    Chương 4 Các Điều Khiển Kiểm Tra Dữ Liệu

    161161

    162162

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    4.1 Giới thiệu chung 4.2 Các Điều khiển kiểm tra dữ liệu

    4.1. Giới thiệu chung

    163163

    164164

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Mỗi khi PostBack về Server, trang Web luôn kiểm tra tính hợp lệ dữ liệu (nếu có yêu cầu khi thiết kế). Nếu dữ liệu không hợp lệ (bỏ trống, vi phạm miền giá trị, mật khẩu nhập lại không đúng, …), trang web sẽ không thể PostBack về Server.

    4.2.1. Điều khiển Required Field Validator

    4.2 Điều khiển kiểm tra dữ liệu-Validation Control

    Công dụng: 4.2.1. Điều khiển Required Field Validator Dùng để kiểm tra giá trị trong điều khiển phải 4.2.2. Điều khiển Compare Validator 4.2.3. Điều khiển Range Validator được nhập. Để kiểm tra ràng buộc khác rỗng (Not null) Thuộc tính: 4.2.4. Điều khiển Regular Expression Validator InitialValue: Giá trị khởi động. 4.2.5. Điều khiển Custom Validator

    165165

    166166

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    4.2.6. Điều khiển Validation Summary

    4.2.3 Điều khiển Range Validator 4.2.2 Điều khiển Compare Validator

    Công dụng: Công dụng: Để so sánh giá trị của điều khiển với giá trị của Để kiểm tra giá trị trong điều khiển có nằm trong điều khiển khác hoặc một giá trị được xác định trước. Sử dụng điều khiển này để kiểm tra ràng buộc đoạn [min-max] (kiểm tra ràng buộc miền giá trị). Thuộc tính:

    - MinimumValue: Giá trị nhỏ nhất. - MaximumValue: Giá trị lớn nhất. - Type: Xác định kiểu để kiểm tra dữ liệu. Có thể thực hiện kiểm tra trên các kiểu: String, Integer, Double, Date, Currency

    167167

    168168

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    miền giá trị, kiểu dữ liệu, liên thuộc tính. Thuộc tính: (cid:131) ControlToCompare: Tên điều khiển cần so sánh. (cid:131) Operator: Qui định phép so sánh (=, >, >=, <, <=, <>), kiểm tra kiểu dữ liệu ( DataTypeCheck) (cid:131) Type: Qui định kiểu dữ liệu để kiểm tra hoặc so sánh(String, Integer, Double, Date, Currency) (cid:131) ValueToCompare: Giá trị cần so sánh

    4.2.4. Điều khiển Regular Expression Validator

    Công dụng:

    Bảng mô tả các ký hiệu sử dụng trong Validation Expression

    169169

    170170

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Để kiểm tra giá trị của điều khiển phải theo mẫu được qui định trước như: địa chỉ email, số điện thoại, mã vùng, số chứng minh thư, … Thuộc tính: (cid:131) ValidationExpression: Qui định mẫu kiểm tra dữ liệu

    4.2.6. Điều khiển Validation Summary 4.2.5. Điều khiển Custom Validator

    Công dụng: Công dụng: Điều khiển này cho phép bạn tự viết hàm xử lý

    thông báo lỗi - giá trị kiểm tra lỗi. Sự kiện:

    171171

    172172

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Để hiển thị ra bảng lỗi - tất cả các lỗi hiện có trên trang Web. Nếu điều khiển nào có dữ liệu không hợp lệ, chuỗi thuộc tính ErrorMessage của Validation Control sẽ được hiển thị. Nếu giá trị của thuộc tính ErrorMessage không được xác định, thông báo lỗi đó sẽ không được xuất hiện trong bảng lỗi ServerValidate: Đặt các xử lý kiểm tra dữ liệu trong sự kiện này. Việc kiểm tra này được thực hiện ở Server. Ví dụ: Xử lý kiểm tra dữ liệu nhập tại điều khiển txtSoA có phải là số chẵn hay không.

    Thuộc tính: Ví dụ: Tạo trang Dangkykhachang Sử dụng các điều khiển ValidateControl để kiểm tra dữ liệu nhập trên các điều khiển có trong hồ sơ đăng ký khách hàng.

    173173

    174174

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    - HeaderText: Dòng tiêu đề của thông báo lỗi - ShowMessageBox: Qui định bảng thông báo lỗi có được phép hiển thị như cửa sổ MessageBox hay không. - ShowSummary: Qui định bảng thông báo lỗi có được phép hiển thị hay không.

    Thuộc tính Text của các điều khiển kiểm tra dữ liệu đều là: (*)

    175175

    176176

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Xử lý sự kiện:

    177177

    178178

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Private Sub butDang_ky_Click(…)… Các thông báo lỗi xuất hiện qua hộp thoại khi dữ liệu nhập không hợp lệ: lblThong_bao.Text = "Đăng ký thành công"; End Sub

    Nếu tất cả đều hợp lệ

    Chương 5 Các Điều Khiển Liên Kết CSDL

    179179

    180180

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    5.1 Điều khiển kết nối cơ sở dữ liệu 5.2 Điều khiển liên kết cơ sở dữ liệu

    5.1. Điều khiển kết nối CSDL–Data-Source Control

    5.1.1 Điều khiển SQLDataSource

    (cid:153) Là các điều khiển dùng để chứa nguồn dữ liệu được rút trích từ các hệ QT CSDL như: Access, SQLServer, XML, Ocracle . . . (cid:153) Có các điều khiển Data-Source sau: SQLDataSource, Access Data Source, XML Data Source, . . . (cid:153) Dùng để kết nối CSDL trong các hệ quản trị CSDL SQLServer, Ocracle Server, . . . (cid:153) Chọn đối tượng CSDL như Table, View, Procedure hay câu lệnh SQL và khai báo điều kiện lọc (Where) với nhiều cách như: Giá trị định sẳn, đối tượng Session, Request.Form, Request.QueryString . . .

    Tạo kết nối Kéo điều khiển SQLDataSource từ Tollbox vào trang

    181181

    182182

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Chọn Conigure Data Source (cid:206)

    Nếu trước đó đã tạo kết nối thì chọn kết nối đã có. Ngược lại để tạo mới kết nối thì chọn New Connection

    Tạo kết nối CSDL mới

    183183

    184184

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:153) Chọn QTCSDL (Microsoft SQLServer) (cid:153) Chọn Continue để tiếp tục

    Chọn Hệ QT CSDL

    Chọn Tên Server

    Chọn thông tin đăng nhập

    Tên kết nối

    Chọn tên CSDL

    Đồng ý kết nối

    Kiểm tra kết nối

    185185

    186186

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Khai báo các thông số cho kết nối Đặt tên cho kết nối

    Xác định nguồn dữ liệu Từ câu lệnh SQL hay Từ Table, View

    Xác định điều kiện

    Chỉ định sắp xếp

    Các lệnh thê, xoá, sửa

    187187

    188188

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:153) Chọn Test Query để kiểm tra kết quả nguồn dữ liệu. (cid:153) Chọn Finish để hòan thành Xác định nguồn dữ liệu từ Table, View hay câu lệnh SQL có thể chỉ định điều kiện lọc dữ liệu, sắp xếp hay các chỉ định vcho xử lý thêm, xoá, sửa

    Điều khiển SQL DataSource và tham số Request.QueryString

    Khi click vào liên kết trang có địa chỉ kèm theo tham số dạng: http://localhost:49222/ . . ./SachNXB.aspx?MaNXB=3

    189189

    190190

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Thực hiện: Tạo trang NhaXB.aspx là danh mục nhà xuất bản Chọn Edit Column từ GiridView Task thông qua đối trực tiếp Để lọc dữ liệu theo điều kiện thì giá trị tham số có thể được gán tượng Request.Querystring (Truyền tham số qua liên kết)

    Với các thuộc tính: (cid:153) HeaderText: Nhãn tiêu đề cột (cid:153) Text: Nhãn hiện thị trong tất cả các ô (cid:153) DatTextField: Giá trị từ 1 field chỉ định trong nguồn DL

    (cid:153) DataNavigateUrlFields: Danh mục tên các tham số ghi cách nhau bởi dấu ,

    (cid:153) DataNavigateUrlFormatting: Địa chỉ trang liên kết kèm tham số dạng: ~/SachNXB.aspx?MaNXB={0}

    191191

    192192

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Giá trị tham số ghi dưới dạng chỉ số các tham số được khai báo trong DataNavigateUrlFields bắt đầu là 0 và cách nhau dấu ,

    Tạo trang hiện thị dữ liệu với nguồn dữ liệu có tham số qua liên kết (Request.QueryString).

    193193

    194194

    Xác định nguồn dữ liệu, sau đó chọn Where để chỉ định điều kiện

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:153)Columns: Tên cột làm điều kiện (cid:153)Operator: Toán tử so sánh (cid:153)Source: Loại tham số (QueryString) (cid:153)QueryString field: Tên tham số đã truyền (cid:153)Chọn Add để chấp nhận thêm tham số

    195195

    196196

    Thi hành xem kết quả

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:153)Columns: Tên cột làm điều kiện (cid:153)Operator: Toán tử so sánh (cid:153)Source: Loại tham số (QueryString) (cid:153)QueryString field: Tên tham số đã truyền (cid:153)Chọn Add để chấp nhận thêm tham số

    Điều khiển SQL DataSource và tham số Request.Form Tạo SqlDataSource với nguồn dữ liệu như sau:

    Để lọc dữ liệu trong nguồn dữ liệu theo điều kiện với giá trị tham số là giá trị trên form. Thực hiện: Tạo trang Lietkesach.aspx gồm:

    197197

    198198

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    1 Textbox thuộc tính ID: MaNXB 1 Button thuộc tính PostbackURL: ~/Lietkesach.aspx (Chính trang thiết kế) Tạo SqlDataSource với nguồn dữ liệu:

    Điều khiển SQL DataSource và tham số là các Controls khai báo

    199199

    200200

    trong điều khiển tham số Có thể SqlDataSource mà giá trị được lấy từ điều khiển trình chủ. Ví dụ thiết kế trang SachtheoCD.aspx thực hiện liệt kê danh mục sách có chủ đề được chọn từ điều khiển DropdownList

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:153) Columns: Tên cột làm điều kiện (cid:153) Operator: Toán tử so sánh (cid:153) Source: Loại tham số (Form) (cid:153) Form field: Tên tham số đã truyền (Tên Textbox) (cid:153) Chọn Add để chấp nhận thêm tham số

    Thực hiện GridView (GridView1) Với nguồn dữ liệu từ Table Sach Thiết kế Dropdownlist (ddlChude) từ Table Chude

    Đặt thuộc tính

    Và tham số điều kiện (Where)

    201201

    202202

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:153)ID: ddlChude (cid:153)DataSourceID: SqlDataSource1 (cid:153)DataTextField: TenCD (Field hiện thị) (cid:153)AutoPostBack: True (cid:153)DataValuefield: MaCD (Field để truyền tham s

    Điều khiển SQL DataSource và Procedure

    Ta có thể sử dụng điều khiển kết nối CSDL SqlDatasource để truy cập gọi Stored Procedure trong CSDL SQL Server. Ví dụ: Ta có Procedure Sachtheogia liệt kê các quyển sách với điều kiện Giá từ 2 tham số là Giatu và Giaden

    Create Proc Sachtheogia @Giatu int, @Giaden Int as

    203203

    204204

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Select * From sach Where Dongia Between @Giatu and @Giaden (cid:153) Columns: Tên cột làm điều kiện (cid:153) Operator: Toán tử so sánh (cid:153) Source: Loại tham số (Control) (cid:153) ControlID: Tên tham số đã truyền (cid:153) Chọn Add để chấp nhận thêm tham số

    Khi cấu hình cho điều khiển SQLDataSource

    205205

    206206

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Chọn tên Procedure Chọn loại nguồn dữ liệu là từ Procedure

    5.1.2 Điều khiển Access DataSource

    (cid:153) Dùng để kết nối với cơ sở dữ liệu Access MDB). (cid:153) Thực hiện Tạo AccessDataSource từ thanh Toolbox.

    Chọn Configure Data Source . . .: Để thực hiện kết nối

    207207

    208208

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Xác định giá trị cho các tham số của Procedure

    5.1.3 Điều khiển XMLDataSource

    Diachi="123 Trần Hưng Đạo, Q5" Email="nam@gmail.com" />

    Diachi="45 Hai Bà Trưng, Q1" Email="lythi@yahoo.com" />

    209209

    210210

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Xác định nguồn dữ liệu và điều kiện tham số như SQLData Source (cid:153) Điều khiển XMLDataSource được sử dụng để kết nối CSDL định dạng XML. (cid:153) Thực hiện: Tạo tập tin XML (DSSinhvien).

    Tạo XMLDataSource từ Toolbox.

    211211

    212212

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Chọn Configure Data Source . . .: Để thực hiện kết nối (cid:153)Chọn tập tin XML. (cid:153) Chọn OK để hoàn tất

    5.2. Điều khiển liên kết cơ sở dữ liệu

    5.2.1 Gridview

    213213

    214214

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:153) Giới thiệu: 5.2.1 Gridview 5.2.2 DataList 5.2.3 Repeater 5.2.4 Detailview & FormView GridView là một điều khiển khá linh hoạt và hiệu quả trong việc hiển thị, định dạng và thao tác với dữ liệu. Bên cạnh đó, chúng ta có thể thực hiện sắp xếp dữ liệu, thực hiện phân trang với sự hỗ trợ khá tốt của Visual .Net trong quá trình thiết kế.

    215215

    216216

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:153) Tạo GridView vào trang (cid:153) Định dạng tự động Kéo Control GridView vào trang Chọn những mẫu định dạng có sẳn Gridview bằng cách Chọn Auto Format từ khung Gridview Task

    (cid:153) Kết nối nguồn dữ liệu Thi hành xem kết quả: Thực hiện kết nối nguồn dữ liệu với cơ sở dữ liệu SQLServer, Access, XML. . Tại mục Choose Data Source: New Data Source (Hoặc chọn Datasource đã được tạo trước đó)

    217217

    218218

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Ghi chú: Tạo Datasource như được trình bày trước

    (cid:153)Thêm cột (cid:153) Hiệu chỉnh các cột Trong cửa sổ Gridview Task chọn : Add New Column Trong cửa sổ Gridview Task chọn : Edit Column

    219219

    220220

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:153) Chọn Loại field : BoundField (cid:153) Tiêu đề côt : Header Text (cid:153) Tên field dữ liệu: DataField (cid:153) Ok hòan thành

    BoundColumn properties: Thông tin chi tiết cho các cột AvailableFields: Chọn lọai Field liên kết dữ liệu HeaderText, Footer Text: Tiêu đề trên/dưới của cột BoundField: Cột dạng Textbox. Header Image: Hình hiển thị trên tiêu đề cột. Checkbox Field: Cột dạng Checkbox. Sort Expression: Biểu thức sắp xếp của cột. Hyperlink Field: Cột dạng liên kết. Visible: Qui định cột có được hiển thị hay không. Button Field: Cột dạng nút lệnh DataField: Qui định tên field dữ liệu cần hiển thị. CommandField: Cột dạng nút lệnh được thiết kế sẵn Data formatting expression: Biểu thức định dạng Select: Nút lệnh chọn dòng dữ liệu {0:}. Edit, Cancel, Update: Các nút cập nhật d.liệu Vd: {0:000.00}, {0:0.##} Delete: Nút lệnh xóa dòng dữ liệu {0:dd/MM/yyyy}, {0:hh/mm/ss tt} TemplateField: Cột do người dùng tự thiết kế.

    221221

    222222

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Convert this Field into a Template Column: Chuyển cột hiện hành thành cột dạng Template Column.

    (cid:153) Thiết lập các thuộc tính định dạng lưới - HeaderStyle/FooterStyle: Định dạng dòng Header/Footer Chọn GridView (cid:206) Properties

    223223

    224224

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    - ShowHeader/ShowFooter: Hiện / Ẩn Phần đầu và chân của GridView

    Page size:Qui định số dòng/trang

    trí thị của bộ nút di

    Possition: Qui định vị hiển chuyển. Mode: Qui định hình thức hiển thị của bộ nút di chuyển.

    225225

    226226

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    - AlowPaging : Phân trang - RowStyleAlternatingRowStyle: Định dạng dòng dữ liệu lẽ/chẵn:

    5.2.2 Điều khiển DataList

    (cid:153) Giới thiệu: - AllowSorting: Sắp xếp

    227227

    228228

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Như điều khiển Gridview, điều khiển DataList được sử dụng để hiển thị dữ liệu. Tuy nhiên, đối với DataList, chúng ta phải tự thiết kế hình thức hiển thị dữ liệu (giống như Template Column của GridView)

    Một số thuộc tính cần chú ý RepeatDirection: Qui định hướng hiển thị dữ liệu - Thiết kế hình thức hiển thị cho DataList cũng tương tự như thiết kế cho cột Template Column của GridView

    229229

    230230

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    - Chọn Edit Template từ thực đơn ngữ cảnh để thực hiện thiết kế hình thức hiển thị cho DataList. oHorizontal: Hiển thị dữ liệu theo chiều ngang oVertical: Hiển thị dữ liệu theo chiều đứng RepeatColumns: Qui định số cột hiển thị

    5.2.3 Điều khiển Repeater

    Ghi chú: Giới thiệu:

    231231

    232232

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Như DataList & DataGrid, điều khiển Repeater dùng để hiển thị dữ liệu. Tuy nhiên phải tự thiết kế hình thức hiển thị thông qua các tag HTML. Để công việc thiết kế được dễ dàng, thực hiện thiết kế ở bên ngoài điều khiển DataList. Sử dụng Table để định vị trí các điều khiển. Sau khi thiết kế hoàn tất, kéo kết quả vào vị trí hiển thị trong DataList.

    HeaderTemplate>

    Nội dung hiển thị cho tiêu đề

    Ví dụ:

    Nội dung hiển thị cho các mục dữ liệu dòng lẻ.

    Nội dung hiển thị cho các mục dữ liệu chẳn.

    Bước 1: Tạo mới điều khiển Repeater: rptChudesach vào trang Web

    Nội dung hiển thị giữa các dòng dữ liệu

    Nội dung hiển thị cho tiêu đề dưới.

    Bước 2: Kết nối và tạo nguồn dữ liệu cho điều khiển từ Table Chude với các cột: MaCD, Tenchude

    :

    233233

    234234

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Bước 3:. Chuyển trang Web qua dạng code HTM bổ sung các tag sau:

    5.2.4 Detailview & FormView

    Giới thiệu:

    Mã CĐ Tên CĐ
    <%# Eval("MaCd")%> <%# Eval("Tenchude")%>
    <%# Eval("MaCD")%> <%# Eval("TenChude")%>

    235235

    236236

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Hai điều khiển này cho phép làm việc với một trường dữ liệu đơn tại mỗi thời điểm. Thực hiện được chức năng xem, thay đổi, thêm mới hay xoá, di chuyển sang trang tiếp theo hay quay lại trang trước.

    Detailview

    Hiển thị dữ liệu với DetailView Sử dụng Fields với điều khiển DetailView DetailView được đưa ra hiển

    237237

    238238

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    thị như 1 bảng(

    )trong HTML để hiển thị dữ liệu 1 bản ghi. Ví dụ: Trang XemthongtinKH.aspx DetailView hỗ trợ tất cả các Field như GridView : BoundField,CheckBoxField,CommandField,ButtonField, HyperLinkField, ImageField, TemplateField

    Minh họa: Xử lý phân trang với điều khiển DetailView Để tạo phân trang chỉ định thuộc

    tính AllowPaging=”true” cho điều khiển DetailView. Với các thuộc tính định dạng thuộc nhóm: Pagersettings

    239239

    240240

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Trong ví dụ liên kết dữ liệu với Table Khachhang đưa vào 5 BoundField và một CheckBoxField, điền dữ liệu vào với thuộc tính DataField và thiết đặt tiêu dề (HeaderText). Tạo phân trang và trình bày tại góc trên bên phải.

    Formview

    Hiển thị dữ liệu với FormView

    241241

    242242

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    FormView dùng để hiển thị dữ liệu với các điều khiển tùy biến cho dữ liệu một bản ghi. Ví dụ: Trang XemthongtinNXB.aspx Trình bày dữ liệu sử dụng Edit Template (cid:190)Tạo FormView vào trang và liên kết dữ liệu (cid:190)Tại cửa sổ thiết kế chọn Edit Tempalte từ cửa sổ FormView Task

    Xử lý phân trang với điều khiển FormView (cid:190)Thiết kế trình bày với các Control điều khiển tương tự như khi thiết kế DataList với các điều khiển tùy biến Để tạo phân trang chỉ định thuộc

    243243

    244244

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    tính AllowPaging=”true” cho điều khiển Form. Với các thuộc tính định dạng thuộc nhóm: Pagersettings

    Minh họa:

    Chương 06 Thiết Kế Layout

    6.1 Web User controls 6.2 Master Pages 6.3 Themes Và Skin 6.4 Site Navigation Controls

    245245

    246246

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Trong ví dụ liên kết dữ liệu với Table NhaXuatBan đưa vào 4 Label, điền dữ liệu vào với thuộc tính Text cho các File tương tứng, thiết đặt tiêu đề(HeaderText). Tạo phân trang và trình bày tại phía dưới giữa trang

    6.1. Web User controls

    6.1.1 Giới thiệu 6.1.2 Tạo và sử dụng User control Tạo mới User control: Khi kết hợp các control để tạo thành một control mới gọi là Web user control (UC) (cid:153) Tạo mới 1 Web user control (cid:153) Thiết kế giống như thiết kế 1 trang aspx (cid:153) Sử dụng UC cũng giống như sử dụng thủ tục, hàm (cid:206) khả năng tái sử dụng UC trên các trang web (cid:153) Phần mở rộng của US là: .ascx

    Chọn: Web User Control

    Đặt tên: *.ascx

    247247

    248248

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    6.2. Master Pages

    Sử dụng User control: 6.2.1 Giới thiệu

    (cid:153) Kéo và thả UC vào trang aspx, lúc đó trang aspx sẽ xuất hiện tag (cid:153) Master pages cho phép tạo 1 bố cục nhất quán trên các trang web trong cùng 1 website (tương tự template) <%@ Register . . %>

    (cid:153) Nội dung thể hiển trên trình duyệt là sự kết hợp giữa trang .master -master page và trang .aspx (hoặc .ascx) - content page

    (cid:153) Master page là tập tin có phần mở rộng .master

    249249

    250250

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:153) Thao tác thiết kế: Giống như trang aspx, nhưng phải bổ sung ít nhất một điều khiển ContentPlaceHolder

    Master page Content page 6.2.2 Tạo trang Master

    (cid:153) Bước 1: Tạo mới Item (cid:198) chọn icon Master Page và đặt tên trang: *.master

    251251

    252252

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Trang kết quả

    6.2.3 Sử dụng trang Master

    253253

    254254

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:153) Bước 2: Thiết kế bố cục chung (có thể sử dụng User control) và bổ sung ContentplaceHolder vào trang master (cid:153) Bước 1: Tạo mới trang web (.aspx) khai báo sử dụng trang master

    6.3. Themes Và Skin

    6.3.1 Giới thiệu (cid:153) Bước 2: Thiết kế bổ sung nội dụng trên trang *.aspx (có thể kéo các User control vào) (cid:153) Themes là tập hợp các khai báo thuộc tính về hình thức hiển thị(màu sắc, nét chữ, . . .) của điều khiển

    (cid:153) Dùng áp dụng chung cho tất cả các trong trong một ứng dụng hoặc tất cả các ứng dụng trên webserver

    (cid:153) Themes được tạo từ các thành phần: skin, css, images . . . Tối thiểu phải có skin. Các thành phần này đặt trong thư mục App_Themes

    255255

    256256

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:153) Skin là một tập tin có phần mở rộng là .skin, chứa các tag tạo ra các server control kèm theo các khai báo thuộc tính.

    (cid:153) Có 2 loại skin: (cid:153) Tạo file skin: (cid:131) Thêm mới 1 item(cid:206)chọn skin file(cid:206)đặt tên file .skin

    (cid:131) Default skin: Không khai báo thuộc tính skinID, mặc định ứng dụng sẽ áp dụng skin này cho tất cả các điều khiểnco1 cùng kiểu khai báo.

    257257

    258258

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:131) Named skin: có khai báo thuộc tính skinID, muốn sử dụng thì phải khai báo tường minh trên điều khiển cụ thể. (cid:153) Tạo file skin: (cid:131) Thêm mới 1 item

    6.4. Site Navigation Controls

    Giới thiệu (cid:153) Tạo Theme: (cid:131) Click phải Project(cid:206)Add ASP.NET Folder(cid:206)Theme

    (cid:131) Dùng để chuyển đến một trang web khác và thể hiện cấu trúc logic của website (sitemap). Gồm các điều khiển: Menu, TreeView, SiteMapPath kết hợp với SiteMapDataSource

    259259

    260260

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:131) Các điều khiển này thường sử dụng trong trang Master

    6.4.1 Điều khiển Menu

    (cid:153)Auto Format: Chọn mẫu định dạng

    Dùng thể hiện menu và cho phép người dùng chuyển đến một trang web khác khi chọn một chức năng Thao tác tạo: Tạo điều khiển Menu vào trang web

    Chọn mẫu định dạng

    261261

    262262

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Thiết kế Menu

    6.4.2 Điều khiển TreeView

    (cid:153) Edit Menu Items: Thiết kế Menu

    Dùng thể hiện menu ở dạng cây và cho phép người dùng chuyển đến một trang web khác khi chọn node Thao tác tạo: Tạo điều khiển TreeView vào trang web

    Chọn mẫu định dạng

    263263

    264264

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Thiết kế các node

    265265

    266266

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:153)Auto Format: Chọn mẫu định dạng (cid:153) Edit Node: Thiết kế các node

    6.4.3 Điều khiển SiteMapPath

    Nút gốc

    Nút con

    (cid:153)Dùng thể hiện cấu trúc logic của website và cho phép người dùng chuyển đến một trang web khác

    Nút cháu

    (cid:153)Nội dung cấu trúc của Website mặc định được chứa trong tập tin Web.sitemap (cid:153)Thao tác tạo: Tạo tập tin Web.sitemap

    267267

    268268

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Tạo điều khiển SitemapPath vào các trang

    6.4.4 Điều khiển SiteMapDataSource

    Kết quả

    (cid:153)Dùng để chứa nguồn dữ liệu lưu trữ trong tập tin Web.sitemap

    (cid:153) Thường sử dụng kết hợp với các điều khiển Menu, TreeView

    269269

    270270

    Khoa CNTT Trường CĐ CNTT TP.HCM

    Khoa CNTT Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    là (cid:153) Để liên kết với TreeView, Menu chỉ định thuộc tính DataSourceID của 2 điều khiển này tên SiteMapDataSource

    7.1. Tổng Quan Về ADO.Net

    7.1.1 Giới thiệu 7.1.2 Kiến trúc ADO .Net 7.1.3 Minh họa tạo kết nối CSDL

    Chương 7 Lập Trình Web Form Với ADO.Net

    271271

    272272

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    7.1 Tổng quan về ADO.Net 7.2 Các đối tượng trong ADO.Net 7.3 Xây dựng lớp xử lý dữ liệu 7.4 Xử lý giỏ hàng cho website thương mại điện tử

    7.1.1 Giới Thiệu

    Hầu hết ứng dụng windows hay website đều cần Vấn đề này được giải quyết dựa vào khả năng có CSDL, để lưu trữ, xử lý, tìm kiếm và báo cáo… của các Hệ QTCSDL. .Net truy xuất DL qua ADO.NET, đặc điểm chính của ADO.NET là: Khi dữ liệu trở thành trung tâm của ứng dụng thì việc cung cấp các chức năng tới người dùng phụ thuộc vào khả năng thao tác dữ liệu, vấn đề cần quan tâm là:

    (cid:57) Khả năng làm việc với DL không kết nối: DL được lưu trữ trong bộ nhớ như một CSDL thu nhỏ (dataset), nhằm tăng tốc độ xử lý tính toán và hạn chế sử dụng tài nguyên.

    273273

    274274

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:57) Khả năng xử lý dữ iệu chuẩn XML (Có thể trao đổi giữa bất kỳ hệ thống nào) (cid:57)Lưu dữ liệu tập trung. (cid:57)Đảm bảo toàn vẹn dữ liệu. (cid:57)Đảm bảo khả năng truy xuất đồng thời. (cid:57)Đảm bảo thời gian hồi đáp ngắn. (cid:57)Bảo mật dữ liệu. (cid:57)Trao đổi dữ liệu giữa các hệ thống khác nhau

    7.1.2 Kiến Trúc ADO.Net

    Kiến trúc ADO.NET có thể chia làm 2 phần chính:

    (cid:57)Managed Provider Component: Bao gồm các đối tượng như DataAdapter, DataReader,… giữ nhiệm vụ làm việc trực tiếp với dữ liệu như database, file,…

    275275

    276276

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:57)Content Component: Bao gồm các đối tượng như DataSet, DataTable,… đại diện cho dữ liệu thực sự cần làm việc.

    7.1.3 Minh họa tạo kết nối CSDL

    277277

    278278

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Cơ bản các bước thực hiện với database (cid:57) DataReader: Là đối tượng giúp truy cập dữ liệu nhanh chóng. (cid:57)Bước 1: Tạo kết nối (cid:57)Bước 2: Mở kết nối dữ liệu (cid:57) DataSet: Là một bản sao thu nhỏ của CSDL trong bộ nhớ với nhiều bảng và các mối quan hệ. (cid:57)Bước 3: Tạo lệnh điều khiển truy vấn SQL (cid:57)Bước 4: Thực thi lệnh (cid:57)Bước 5: Đóng kết nối (cid:57) DataAdapter: Là đối tượng kết nối giữa DataSet và CSDL, nó bao gồm 2 đối tượng Connection và Command để cung cấp dữ liệu cho DataSet cũng như cập nhật dữ liệu từ DataSet xuống CSDL. (cid:57)Bước 6: in kết quả

    Ví dụ:

    7.2. Các đối tượng trong ADO.Net

    using System; using System.Data; using System.Data.SqlClient; public partial class vd1 : System.Web.UI.Page{

    protected void Page_Load(object sender, EventArgs e) { //Khai báo và khởi tạo biến Connection

    SqlConnection cnn = new SqlConnection("Data Source=(local);

    Initial Catalog=QLbansach;User ID=sa;Password=");

    cnn.Open(); //Mở kết nối //Command điều khiển truy vấn sql

    SqlCommand cmd = cnn.CreateCommand(); cmd.CommandText="select TenKH from Khachhang where MaKH=5";

    //lấy về chuỗi giá trị trong cơ sở dữ liệu

    string result = (string)cmd.ExecuteScalar();

    cnn.Close(); //đóng kết nối Response.Write(result); //in giá trị ra màn hình }

    }

    279279

    280280

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    7.2.1 Connection 7.2.2 Command

    7.2.1 Connection

    Connection String: Vai trò của Connection trong ADO.net là tạo kết

    nối giữa ứng dụng với CSDL Data Provider Khi thực hiện kết nối cần khai báo các thông tin cho Connection thông qua thuộc tính Connection String. Tùy thuộc vào Data Provider:

    Nếu kết nối với CSDL Access

    Provider: Khai báo Data Provider của Access Data Source: Tên tập tin CSDL (.mdb) User ID: Tên người dùng Password : Mật khẩu

    281281

    282282

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:57)System.Data.Oledb : Sử dụng với Access (cid:57)System.Data.SqlCient : Sử dụng với SQLServer Ứng với mỗi tên miền: (cid:57)System.Data.Oledb.OledbConnection (cid:57)System.Data.SqlClient.SqlConnection Và các Data Provider khác: (cid:57)System.data.OcracleClient(Ocracle) (cid:57)MicroSoft.data.Odbc(Thông qua ODBC của HĐH) (cid:57)Microsoft.Data.Sqlxml (XML trên Sqlserver)

    protected void Page_Load(object sender, EventArgs e) {

    String StrCnn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("~/App_Data/QLBansach.mdb"); OleDbConnection cnn = new OleDbConnection (StrCnn); cnn.Open(); //Truy xuất, xử lý dữ liệu cnn.Close();

    }

    }

    284284

    283283

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Nếu kết nối với CSDL SQLServer Provider: Khai báo Data Provider của SQLServer Data Source/Server: Tên Server Initial Catalog/DataBase: Tên CSDL Ví dụ: Tạo kết nối với CSDL Access using System; using System.Data; using System.Data.OleDb; public partial class VD2 : System.Web.UI.Page { User ID/UID: Tên người dùng Password/ PWD: Mật khẩu Integrated Security: Cơ chế chứng thực đăng nhập true: tài khoản Windows; false: Tài khoản SqlServer (ví dụ: sa)

    protected void Page_Load(object sender, EventArgs e) {

    String StrCnn="Data Source=.; Initial Catalog=QLbansach;

    User ID=sa;Password=“;

    SqlConnection cnn = new SqlConnection(StrCnn); cnn.Open(); //Truy xuất, xử lý dữ liệu cnn.Close();

    }

    }

    286286

    285285

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Các thuộc tính Của Connection DataBase: Tên CSDL DataSource: Tên Server Provider:Tương ứng với Provider của HQTCSDL Ví dụ: Tạo kết nối với CSDL SQLServer using System; using System.Data; using System.Data.sqlClient; public partial class KetnoiCSDL : System.Web.UI.Page { State: Tình trạng kết nối của Connection: Broken: Kết nối đã bị ngắt khi đã kết nối Closed: Kết nối đã đóng Connecting: Đang kết nối Executing: Kết nối đang thực hiện một lệnh Fetching: Kết nối đang truy xuất dữ liệu Open: Kết nối đang mở

    7.2.2 Command

    287287

    288288

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Các phương thức Sau khi tạo kết nối CSDL, mọi thao tác với nguồn dữ liệu có thể được thực hiện thông qua Command. Change Databse: Thay đổi DataBase làm việc Tùy theo loại Connection đối tượng Command Close : Đóng kết nối thuộc tên miền: Dispose: Giải phóng bộ nhớ System.Data.OleDb.OleDbCommand Open: Thực hiện kết nối System.Data.SqlClient.SqlCommand

    As New ;

    .Connection=;

    .CommandText=Lệnh SQL>;

    As New ();

    SqlCommand cmd As SqlCommand = New SqlCommand();

    .Connection=;

    cmd.Connection = cnn;

    cmd.CommandType = CommandType.Text;

    cmd.CommandText = "Select * From Khachhang"

    289289

    290290

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Tạo Command Các thuộc tính Của Command Cú pháp: CommandText: Lệnh SQL hay tên Procedure CommandType: Loại Command Text: (Mặc định): Là câu lệnh SQL StoredProcedure: Tên thủ tục Hoặc TableDirect: Tên Connectionủa table VD:

    OleDbParameter

    As New OleDbParameter();

    OleDbParameter

    As New OleDbparameter();

    OleDbParameter

    Access Parameters (cid:153) Lệnh SQL trong commandText có thể sử dụng

    As New OleDbParameter (,);

    SqlParameter

    As New SqlParameter();

    SqlParameter

    As New SqlParameter();

    SqlParameter

    As New SqlParamter(,);

    292292

    291291

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:131) ? (khi sử dụng Access) (cid:131) @Tênbiến (khi sử dụng SQLServer) thay cho trị chưa xác định và khi thực hiện sẽ dùng đối tượng Parameters để truyền giá trị vào dấu ?/ @Tênbiến. (cid:153) Tùy theo Command Parameter sẽ khai báo khác nhau SQLServer

    Where MaKH=?”;

    OleDbParameter Par As

    OleDbParameter= cmd.CreateParameter();

    Các thuộc tính cần chú ý: VD: Khi sử dụng OleDbCommand cmd.CommandText=”Select * From KhachHang Direction: Giá trị cho biết lọai tham số Input: (mặc định) Loại tham số đầu vào InputOutput: Loại tham số đầu vào và ra Output: Loại tham số đầu ra ReturnValue: Loại tham số nhận trị trả về

    Par.Value=”KH01”; cmd.Parameters.Add(Par); VD: Khi sử dụng SqlDbCommand cmd.CommandText=”Select * From KhachHang

    Where MaKH=@MaKH”;

    SqlParameter Par As

    SqlParameter = cmd.CreateParameter();

    Par.ParameterName=”@MaKH”; Par.Value=”KH01”; cmd.Parameters.Add(Par);

    293293

    294294

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    OleDbType / SqlDbType: Kiểu dữ liệu của tham số. ParameterName: Tên tham số Value: Giá trị tham số

    cmd.CommandText=”Select * From BangDiem

    cmd.CommandText=”Select * From BangDiem

    Where Masv=@MaSV and MaMH = @MaMH ”;

    Where Masv=? And MaMH=?”;

    SqlDbParameter Par1 As SqlDbParameter=

    cmd.CreateParameters.Add(“@MaSV”,SqlType.Char,4);

    Par1.Value=”SV01”

    SqlDbParameter Par2 As SqlDbParameter=

    cmd.CreateParameters.Add(“@MaMH”,SqlType.Char,4);

    OleDbParameter Par1 As OleDbParameter= cmd.CreateParameters.Add(“Sinhvien”,OleDbType.Char,4); Par1.Value=”SV01” OleDbParameter Par2 As OleDbParameter= cmd.CreateParameters.Add(“Monhoc”,OleDbType.Char,4); Par2.Value=”MH01”

    Par2.Value=”MH01”;

    295295

    296296

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    VD: Khi sử dụng SqlDbCommand Đưa tham số vào tập hợp Parameters VD: Khi sử dụng OleDbCommand

    Tạo tham số và đưa vào tập hợp Parameters

    cmd.CommandText=”spKetQuaThi”; cmd.CommandType=CommandType.StoredProcedure; OleDbParameter ts3 As New OleDbParameter(); ts3.Direction=ParameterDirection.ReturnValue; ts3.OleDbType=OleDn.OleDbType.Int; cmd.parameters.Add(ts3); OleDbParameter ts1 as OleDbParameter= cmd.Parameters.Add(“@MaSV”,OleDbType.Char,4); Ts1.Value=”Sv01”; OleDbParameter ts2 as OleDbParameter= cmd.Parameters.Add(“@MAMH”,OleDbType.Char,4);

    Ts1.Value=”MH01”;

    297297

    298298

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    VD: Procedure SpKetQuaThi cần 2 tham số đầu vào: @MaSV , @MaMH và trả về Điểm thi của Môn học của sinh viên đó.

    try

    Ví dụ 1: Sử dụng Command với câu lệnh Select

    {

    SqlConnection cnn = new SqlConnection("Data Source=(local);

    Initial Catalog=QLbansach;User ID=sa;Password=");

    Thực hiện Command:

    SqlDataReader As SqlDataReader; = .ExecuteReader;

    (cid:153) Phương thức ExecuteReader: Trả về đối tượng DataReader để đọc dữ liệu mỗi lần một dòng với phương thức Read.(DataReader đọc dữ liệu trực tiếp từ nguồn nên phải duy trì kết nối đến khi đọc xong)

    SqlCommand cmd = new SqlCommand(); cmd.Connection = cnn; //Loại command là câu lệnh SQL cmd.CommandText = "Select Count(*) From Chude"; cmd.CommandType = CommandType.Text; //Mở kết nối và lấy dữ liệu cnn.Open(); int count = (int)cmd.ExecuteScalar(); response.write(count.ToString()); cnn.Close();

    } catch (Exception) {

    response.write("Không thành công!“);

    VD: SqlDataReader rd As SqlDataReader; rd = cmd.ExecuteReader;

    }

    299299

    300300

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:153) Phương thức ExcuteNoneQuery: Dùng thực thi các phát biểu T-Sql như: Insert, Update, Delete, Create,… (cid:153) Phương thức ExcuteScalar: Trả về từ phát biểu SQL dạng Select chỉ có một cột một hàng.

    try

    try

    {

    SqlConnection cnn = new SqlConnection("Data Source=(local);

    {

    Initial Catalog=QLbansach;User ID=sa;Password=");

    SqlConnection cnn = new SqlConnection("Data Source=(local);

    Initial Catalog=QLbansach;User ID=sa;Password=");

    SqlCommand cmd = new SqlCommand(); cmd.Connection = cnn; SqlParameter parTenLinhVuc =

    new SqlParameter("@TENCHUDE", SqlDbType.NVarChar, 50);

    cmd.CommandText =

    "INSERT INTO CHUDE VALUES(@TENCHUDE)";

    SqlCommand cmd = new SqlCommand(); cmd.Connection = cnn; //Biến Commnad thao tác Insert, Update, Delete cmd.CommandText = "Insert Into Chude(tencd) Values(n'văn hóa')"; cmd.CommandType = CommandType.Text; cnn.Open(); cmd.ExecuteNonQuery(); response.write("Thành công!“); cnn.Close();

    cmd.CommandType = CommandType.Text; cmd.Parameters.Add(parTenchude); parTenLinhVuc.Value = TextBox1.Text; cnn.Open(); cmd.ExecuteNonQuery(); cnn.Close(); response.write("Thành công!“);

    } catch (Exception) {

    response.write(“Thất bại!“);

    }

    } catch (Exception) {

    response.write(“Thất bại!“);

    }

    301301

    302302

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Ví dụ 3: Command với lệnh Insert,Update,Delete + Tham số Ví dụ 2: Sử dụng Command với lệnh Insert,Update,Delete

    7.2.3 DataReader

    Các thuộc tính

    (cid:153)Là đối tượng truy cập dữ liệu trực tiếp, sử dụng con trỏ phía Server và duy trì kết nối với Server trong suốt quá trình đọc dữ liệu,

    303303

    304304

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:153)Tùy theo loại Connection mà DataReader thuộc tên miền: System.Data.OleDb.OleDbDataReader (cid:153) FieldCout: Số cột trên dòng hiện hành của DataReader (cid:153) IsClosed : Cho biết dataReader đã đóng (cid:153) Item:Trị của cột truyền vào. Tham số truyền vào là tên cột hoặc số thứ tự tính từ 0. System.Data.SqlClient.SqlDataReader

    try

    {

    SqlConnection cnn = new SqlConnection("Data Source=(local);

    Ví dụ 1:DataReader với lệnh Insert,Update,Delete +Tham số

    Initial Catalog=QLbansach;User ID=sa;Password=");

    Các phương thức (cid:153) Close: Đóng DataReader

    SqlCommand cmd = new SqlCommand(); cmd.Connection = cnn; cmd.CommandText = "SELECT * FROM Nhaxuatban"; cmd.CommandType = CommandType.Text; cnn.Open(); IDataReader dr = cmd.ExecuteReader(); String list = ""; while (dr.Read()) {

    list = list + dr["TenNXB"].ToString().Trim() + " ";

    (cid:153) GetFieldType: Trả về kiểu dữ liệu của tham số truyền vào. (cid:153) GetName: Trả về tên của cột truyền vào (cid:153) GetValue: Trả về trị của cột truyền vào

    } dr.Close(); response.write(list.ToString()); cnn.Close();

    }

    catch (Exception)

    {

    (cid:153) Read: Di chuyển đến dòng kế tiếp và trả về true nếu còn dòng để di chuyển, ngược lại trả về False.

    response.write(“Thất bại!“);

    }

    306306

    305305

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Trong khi dataReader đang mở các thao tác dữ liệu trên nguồn dữ liệu đều không thể cho đến khi dataReader đóng lại bằng lệnh Close

    try {

    SqlConnection cnn = new SqlConnection("Data Source=(local);

    Initial Catalog=QLbansach;User ID=sa;Password=");

    Create Procedure GetchudeByMaCD @Machude char(15) AS Begin

    Select * From Chude Where MaCD=@Machude

    End

    SqlCommand cmd = new SqlCommand("Getnhaxuatban", cnn); cmd.Connection = cnn; cmd.CommandType = CommandType.StoredProcedure; cnn.Open(); IDataReader dr = cmd.ExecuteReader(); String list = ""; while (dr.Read()) {

    list = list + dr["TenNXB"].ToString();

    } dr.Close(); response.write(list.ToString()); cnn.Close();

    } catch (Exception)

    {

    response.write(“Thất bại!“);

    }

    307307

    308308

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    try {

    SqlConnection cnn = new SqlConnection("Data Source=(local);

    Ví dụ 2: DataReader + gọi procedure (VD: Getnhaxuatban) Ví dụ 2: DataReader + gọi procedure có tham số

    7.2.4 DataAdapter

    Initial Ctalog=QLbansach;User ID=sa;Password=");

    SqlCommand cmd = new SqlCommand("GetchudeByMaCD", cnn); cmd.Connection = cnn; cmd.CommandType = CommandType.StoredProcedure; SqlParameter parMALINHVUC =

    new SqlParameter("@Machude", SqlDbType.NChar, 10);

    parMAVHUDE.Value = TextBox1.Text; cmd.Parameters.Add(parMACHUDE); cnn.Open(); IDataReader dr = cmd.ExecuteReader(); String list = ""; while (dr.Read()) {

    (cid:153) Để lấy dữ liệu từ nguồn dữ liệu về cho ứng dụng, chúng ta sử dụng đối tượng DataAdapter. Đối tượng này cho phép ta lấy cấu trúc và dữ liệu của các bảng. (cid:153) DataAdapter là một bộ gồm 4 đối tượng: (cid:131) SelectCommand: Cho phép lấy thông tin từ nguồn.

    list = list + dr["Tenchude"].ToString();

    (cid:131) InsertCommand: Cho phép thêm dữ liệu vào bảng trong nguồn.

    } dr.Close(); response.write(list.ToString()); cnn.Close();

    (cid:131) UpdateCommand: Cho phép điều chỉnh dữ liệu của bảng trong nguồn.

    } catch (Exception)

    {

    response.write(“Thất bại!“);

    309309

    310310

    }

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:131) DeleteCommand: Cho phép xóa dữ liệu của bảng trong nguồn.

    (cid:153) Các thuộc tính của DataAdapter

    (cid:153) Tạo DataAdapter Cú pháp: DataAdapter = (cid:131) DeleteCommand: Đối tượng Command chứa nội dung lệnh hủy các mẫu tin trên nguồn dữ liệu. New DataAdapter(,)

    (cid:131) InsertCommand: Đối tượng Command chứa nội dung lệnh thêm các mẫu tin trên nguồn dữ liệu.

    (cid:131) SelectCommand: Đối tượng Command chứa nội dung lệnh truy xuất các mẫu tin trên nguồn dữ liệu. DataAdapter chỉ thao tác với nguồn dữ liệu qua đối tượng connection đang kết nối, khi Connection chưa mở thì DataAdapter sẽ tự động mở kết nối khi cần và đóng lại

    311311

    312312

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    (cid:131) UpdateCommand: Đối tượng Command chứa nội dung lệnh sửa các mẫu tin trên nguồn dữ liệu.

    (cid:153) Các chức năng của DataAdapter (cid:131) Phương thức trả về mẫu tin lấy được (cid:131) Lấy dữ liệu từ nguồn: - DataTable: Fill() - DataSet: Fill() Dataset DS as New Dataset() Integer so; so= DA.Fill(DS,”Sinhvien”) (cid:131) Để cập nhật dữ liệu về nguồn

    Dữ liệu lấy về DataSet dưới dạng các dataTable với tên là: Table0,Table1, Table2. . .

    - Đổ dữ liệu vào Datset cho bảng DataTable nếu chưa có sẽ tạo mới: Fill(,)

    313313

    314314

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Update(): Cập nhật các dòng (Các đối tượng DataRow) vào nguồn dữ liệu. Update(): Cập nhật các thay đổi trên tất cả các bảng của Dataset vào nguồn dữ liệu. Update(): Cập nhật tất cả các thay đổi trên DataTable vào nguồn dữ liệu. Update(,) Cập nhật các thay đổi trên bảng trong Dataset vào nguồn.

    7.2.5 Dataset

    (cid:153) Các phương thức Thêm một bảng vào Dataset Tables.Add()

    Một bảng mới tự động được tạo ra với tên mặc định Table1, Table2 . . . (cid:153) Dataset là một mô hình CSDL quan hệ thu nhỏ đáp ứng nhu cầu của ứng dụng. (cid:153) Dataset chứa các bảng (DataTable), các quanhệ (DataRelation) và các ràng buộc (constraint) (cid:153) Dataset thuộc tên miền: System.Data.Dataset. (cid:153) Khai báo New System.Data.Dataset() Tables.Addd() Hoặc New System.Data.Dataset()

    315315

    316316

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Một bảng mới tạo ra theo đúng Ghi chú: Tên bảng có phân biệt chữ in, thường Xóa bảng ra khỏi Dataset Tables.Remove() Xóa bảng ra khỏi tập hợp Table.

    Kiểm tra bảng có thuộc về Dataset Để hủy các thay đổi trên Dataset RejectChanges() Tables.Contains() Để xóa bỏ mọi dữ liệu trên dataSet Lấy chỉ số của bảng Clear() Tables.IndexOf() Để tạo một bản sau của Dataset Clone() Để xóa bỏ Dataset Lấy số bảng trong Dataset Tables.Count

    318318

    317317

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Dispone() Giải phóng mọi tài nguyên trên vùng nhớ Lấy ra một bảng trong Dataset Tables() Để cập nhật các thay đổi trên Dataset Dataset đang sử dụng. Tạo quan hệ giữa hai bảng trong Dataset. AcceptChanges() Relations.Add(, ) Xóa quan hệ giữa hai bảng trong Dataset. Relations.Remove()

    Ví dụ 1: DataAdapter + update dữ liệu

    7.2.6 DataTable

    try {

    SqlConnection cnn = new SqlConnection("Data Source=(local);

    Dữ liệu các bảng trong nguồn dữ liệu được lấy về và đưa vào các DataTable. DataTable thuộc tên miền : System.Data.dataTable. Cú pháp:

    Initial Catalog=QLbansach;User ID=sa;Password="); SqlDataAdapter da=new SqlDataAdapter("select * from CHUDE", cnn); SqlCommandBuilder commandBuilder = new SqlCommandBuilder(da); DataSet ds = new DataSet(); da.Fill(ds); foreach (DataRow row in ds.Tables[0].Rows) if (row["MaCD"]=="1") {

    row["TENCHUDE"] = "BBB";

    } response.write(ds.Tables[0].Rows[2].ItemArray[1].ToString()); GridView1.DataSource = ds.Tables[0]; GridView1.DataBind(); //Không sử dụng SqlCommandBuilder thì không thể update dữ liệu. da.Update(ds);

    } catch (Exception)

    {

    response.write(“Thất bại!“);

    }

    320320

    319319

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    New DataTable(); New DataTable(); DataTable được hình thành từ DataColumn và DataRow.

    try {

    SqlConnection cnn = new SqlConnection("Data Source=(local);

    try {

    Initial Catalog=QLbansach;User ID=sa;Password=");

    SqlConnection cnn = new SqlConnection("Data Source=(local);

    Initial Catalog=QLbansach;User ID=sa;Password=");

    SqlCommand cmd = new SqlCommand("Getchude", cnn); cmd.Connection = cnn; cmd.CommandType = CommandType.StoredProcedure; SqlParameter parMACD =

    new SqlParameter("@MACD", SqlDbType.NChar, 10);

    SqlDataAdapter da = new SqlDataAdapter("GETNXB", cnn); DataSet ds = new DataSet(); da.Fill(ds); response.write(ds.Tables[0].Rows[2].ItemArray[1].ToString()); GridView2.DataSource = ds.Tables[0]; GridView2.DataBind();}

    catch (Exception)

    {

    response.write(“Thất bại!“);

    }

    parMACD.Value = "1"; cmd.Parameters.Add(parMACD); cnn.Open(); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = cmd; DataSet ds = new DataSet(); da.Fill(ds); GridView1.DataSource = ds.Tables[0]; GridView1.DataBind(); cnn.Close();

    } catch (Exception)

    {

    response.write(“Thất bại!“);

    321321

    322322

    }

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Ví dụ 2: DataAdapter + Procedure(GetNXB) Ví dụ 3: DataAdapter + Procedure tham số (Getchude)

    Ví dụ 4: DataAdapter + Đối số là command

    7.2.7 Đối Tượng Transaction

    try { SqlConnection cnn = new SqlConnection("Data Source=(local);

    Dữ liệu các bảng trong nguồn dữ liệu được lấy về và đưa vào các DataTable. DataTable thuộc tên miền : System.Data.dataTable. Cú pháp:

    Initial Catalog=QLbansach;User ID=sa;Password="); SqlCommand cmd = new SqlCommand("GETNXB", cnn); cmd.Connection = cnn; cmd.CommandType = CommandType.StoredProcedure; cnn.Open(); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = cmd; //da.InsertCommand = cmd; //da.DeleteCommand = cmd; //da.UpdateCommand = cmd; DataSet ds = new DataSet(); da.Fill(ds); GridView1.DataSource = ds.Tables[0]; GridView1.DataBind(); cnn.Close();

    } catch (Exception)

    {

    response.write(“Thất bại!“);

    323323

    324324

    }

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    New DataTable(); New DataTable(); DataTable được hình thành từ DataColumn và DataRow.

    7.3. Xây Dựng Lớp Xử Lý Dữ Liệu

    (cid:131) Tạo mới lớp XLDL.cs: Thêm mới 1 Item

    Tên lớp: XLDL.cs

    (cid:153) Để các thao tác với CSDL thuận lợi. Ta nên xây dựng lớp xử lý dữ liệu đảm nhận việc kết nối CSDL và các thủ tục xử lý. (cid:131) Docbang(string LenhSQL): Nhằm thực hiện câu lệnh truy vấn SQL để trả về dữ liệu là 1 DataTable (cid:131) Thuchienlenh(string LenhSQL): Nhằm thực hiện câu lệnh Insert, Update, Delete để cập nhật dữ liệu cho CSDL. (cid:153) Thực hiện:

    (cid:131) Tạo cấu hình chuỗi kết nối CSDL trong tập tin Webconfig. (Có thể dùng SQLDatasource để sinh mã)

    325325

    326326

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    . . . public static void thuchienlenh(string LenhSQL)

    {

    using (SqlConnection cnn = new SqlConnection(StrCnn)) {

    Thực hiện mã code cho lớp XLDL.cs . . . using System.Data.SqlClient; public class XLDL { static string StrCnn = ConfigurationManager.ConnectionStrings["KetnoiCSDL"]. ConnectionString.ToString();

    cnn.Open(); SqlCommand bolenh = new SqlCommand(LenhSQL, cnn); bolenh.ExecuteNonQuery(); cnn.Close();

    public static DataTable Docbang(string LenhSQL) {

    }

    }

    using (SqlConnection cnn = new SqlConnection(StrCnn)) {

    }

    SqlDataAdapter bodocghi = new SqlDataAdapter(LenhSQL, cnn); DataTable bang = new DataTable(); bodocghi.Fill(bang); return bang;

    }

    } . . .

    327327

    328328

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    Khoa CNTT, Trường CĐ CNTT TP.HCM

    © Dương Thành Phết-www.thayphet.net

    © Dương Thành Phết-www.thayphet.net

    Sẽ lưu lớp này trong thư mục App_Code

    Có thể bạn quan tâm

    Tài liêu mới