1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu công nghệ linq to sql và xây dựng website bộ môn kỹ thuật máy tính

61 14 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 61
Dung lượng 3,19 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hình 1.1.5: Ánh xạ các table trong cửa sổ thiết kế LINQ to SQL Các Table, View từ CSDL được ánh xạ thành các Class được gọi là các lớp thực thể Entity Class, và mỗi một cột trong bảng sẽ

Trang 1

005.5 TRƯỜNG ĐẠI HỌC VINH

KHOA CÔNG NGHỆ THÔNG TIN

===  ===

ĐỒ ÁN TỐT NGHIỆP NGÀNH: CÔNG NGHỆ THÔNG TIN

Đề tài:

TÌM HIỂU CÔNG NGHỆ LINQ TO SQL

VÀ XÂY DỰNG WEBSITE BỘ MÔN KỸ THUẬT MÁY TÍNH

Giáo viên hướng dẫn : TS HOÀNG HỮU VIỆT Sinh viên thực hiện : ĐẶNG THỊ NHƯỜNG Lớp : 51K1 - CNTT

VINH - 9/2014

Trang 2

Em cũng xin được gửi lời cảm ơn sâu sắc đến thầy giáo TS Hoàng Hữu Việt Thầy đã tận tình chỉ bảo, có những buổi thảo luận giúp em hoàn thành bài đồ án của mình Tấm lòng của thầy, em xin ghi nhận

Con xin tri ân cha mẹ, là những người đã trực tiếp dạy dỗ và hướng dẫn con nên người, đã đồng hành cùng con trong suốt quãng đường đại học, để con được như ngày hôm nay Con xin cúi đầu tri ân

Một lần nữa, xin được gửi lời cảm ơn đến tất cả mọi người

Sinh viên

Đặng Thị Nhường

Trang 3

LỜI NÓI ĐẦU

Với sự phát triển nhảy vọt của công nghệ thông tin hiện nay, Internet ngày càng giữ vai trò quan trọng trong các lĩnh vực khoa học, kĩ thuật và đời sống, đặc biệt trong lĩnh vực giáo dục Nhưng, hầu hết các bộ môn ở các trường đại học đều chưa có một trang web riêng cho bộ môn mình nên việc thông báo tin tức, giới thiệu tài liệu học tập cho sinh viên còn thủ công, tốn thời gian và tiền của Vì vậy, việc thiết kế website riêng cho bộ môn là điều cần thiết và hữu ích

Xuất phát từ yêu cầu thực tế đó, lại nhận thấy, hầu hết các sinh viên thuộc chuyên ngành Kỹ thuật máy tính đều có máy tính cá nhân nên việc truy cập trang web

sẽ dễ dàng và thường xuyên hơn Vì vậy, em được phân công đồ án với đề tài thiết kế website cho bộ môn Kỹ thuật máy tính

Website sử dụng công nghệ LINQ to SQL làm nề tảng cho việc lập trình Ngoài

ra còn sử dụng ngôn ngữ HTML và CSS để thiết kế giao diện

Tuy đã hết sức cố gắng, nhưng thời gian không cho phép, cộng với vốn kiến thức quá ít ỏi, nên trong quá trình thực hiện đề tài không tránh khỏi thiếu sót, mong được ý kiến đóng góp của thầy cô và các bạn

Sinh viên

Đặng Thị Nhường

Trang 4

MỤC LỤC

LỜI CẢM ƠN i

LỜI NÓI ĐẦU iii

MỤC LỤC iv

DANH MỤC HÌNH vi

DANH MỤC BẢNG viii

MỞ ĐẦU 1

CHƯƠNG I: CÔNG CỤ LẬP TRÌNH 2

1.1 Công nghệ LINQ to SQL 2

1.1.1 Giới thiệu 2

1.1.2 Sử dụng LINQ to SQL 3

1.1.3 Truy vấn trong LINQ to SQL 6

1.1.4 Các toán tử thường sử dụng trong LINQ to SQL 8

1.1.5 Thực hiện truy vấn trong LINQ to SQL 10

1.1.6 Sử dụng Stored Procedure trong LINQ to SQL 12

1.1.7 Sử dụng LinqDataSource 16

1.2 SQL Server 2012 20

1.3 Visual Studio 2012 21

1.4 HTML 21

1.4.1 Giới thiệu chung 21

1.4.2 Các thẻ HTML cơ bản 22

1.5 CSS 23

CHƯƠNG II: XÂY DỰNG WEBSSITE 25

2.1 Khảo sát hệ thống 25

2.1.1 Đặc tả bài toán 25

2.1.2 Các yêu cầu chức năng 25

2.1.3 Các yêu cầu phi chức năng 25

2.2 Phân tích hệ thống 26

2.2.1 Các chức năng chính 26

2.2.2 Các tác nhân tác động lên hệ thống 27

2.3 Mô hình hóa các chức năng 27

Trang 5

2.3.1.Biểu đồ ngữ cảnh 27

2.3.2 Biểu đồ luồng dữ liệu 27

2.4 Mô tả chi tiêt các chức năng 31

2.4.1 Chức năng của đối tượng người dùng 31

2.4.2 Chức năng của thành viên ban quản trị 34

2.4.3 Chức năng của Admin 38

2.5 Mô hình hóa dữ liệu 43

2.5.1 Mô hình thực thể, liên kết: 43

2.5.2 Mô hình dữ liệu quan hệ 44

2.6 Thiết kế CSDL vật lý 44

CHƯƠNG III: KẾT QUẢ ĐẠT ĐƯỢC 48

3.1 Giao diện người dùng 48

3.1.1 Menu giới thiệu 48

3.1.2 Menu đào tạo 48

3.1.3 Menu thư viện 49

3.1.4 Menu sinh viên 50

3 2 Giao diện nhà quản trị 51

3.2.1 Menu quản lí nhân sự 51

3.2.2 Menu quản lí đào tạo 51

3.2.3 Menu quản lí thư viện 51

KẾT LUẬN 53

TÀI LIỆU THAM KHẢO 53

Trang 6

DANH MỤC HÌNH

Hình 1.1.1 Mô hình ánh xạ trong LINQ to SQL 3

Hình 1.1.2: Cửa sổ thêm mới lớp LINQ to SQL 4

Hình 1.1.3: Cửa sổ thiết kế LINQ to SQL 4

Hình 1.1.4: Cửa sổ Server Explorer và cửa sổ Add Connection 5

Hình 1.1.5: Ánh xạ các table trong cửa sổ thiết kế LINQ to SQL 5

Hình 1.1.6 Cửa sổ Class View 6

Hình 1.1.7: Ánh xạ thủ tục trong LINQ to SQL 12

Hình 1.1.8: Hộp thoại cấu hình thủ tục thêm dũ liệu 14

Hình 1.1.9: Cấu hình thủ tục sửa dữ liệu 15

Hình 1.1.10: Cửa sổ tạo mới LinqDataSource cho điều khiển 16

Hình 1.1.11: Hộp thoại chọn cấu hình dữ liệu nguồn 17

Hình 1.1.12: Các hộp thoại cấu hình cho dữ liệu nguồn trong LinqDataSource 17

Hình 1.1.13: Danh sách các đề tài khi sử dụng LinqDataSource 17

Hình 1.1.14: Phân trang và sắp xếp trong LinqDatasource 18

Hình 1.1.15: Xóa và chỉnh sửa dữ liệu trong LinqDataSource 18

Hình 1.1.16 : Xoá cột trong LinqDataSource 19

Hình 1.1.17: Kết quả sau khi thực hiện lọc đề tài theo loại dùng LinqDataSource 19

Hình 1.1.18: Mã nguồn lọc đề tài trong LinqDataSource 20

Hình 1.2.1: Màn hình làm việc của SQL Server 2012 20

Hình 1.3.1 : Giao diện Visual Studio 2012 21

Hình 2.3.1: Biểu đồ ngữ cảnh 27

Hình 2.3.2: Biểu đồ các chức năng và luồng dữ liệu chính 28

Hình 2.3.3: Quan hệ giữa chức năng và kho tài liệu 29

hình 2.3.4: Biểu đồ luồng dữ liệu quản lí đào tạo 29

Hình 2.3.5: Biểu đồ luồng dữ liệu quản lí thƣ viện 30

Hình 2.3.6: Biểu đồ luồng dữ liệu quản lí tin tức 30

Hình 2.3.7: Biểu đồ luồng dữ liệu quản lí nhân sự 31

Hình 2.3.8: Biểu đồ luồng dữ liệu quản lí thành viên 31

Hình 2.4.1: Biểu đồ chức năn xem thông tin 32

Trang 7

Hình 2.4.2: Chức năng tìm kiếm thông tin 33

Hình 2.4.3: Biểu đồ chức năng tải tài liệu 33

Hình 2.4.4: Biểu đồ chức năng đăng nhập 34

Hình 2.4.5: Biểu đồ chức năng đăng xuất 35

Hình 2.4.6: Biểu đồ chức năng quản lí lịch dạy 36

Hình 2.4.7: Biểu đồ chức năng quản lí tin tức 37

Hình 2.4.8: Biểu đồ chức năng quản lí đề tài 38

Hình 2.4.9: Biểu đồ chức năng quản lí học phần 39

Hình 2.4.10:Biểu đồ chức năng quản lí hướng nghiên cứu 40

Hình 2.4.11: Biểu đồ chức năng quản lí thành viên 42

Hình 2.5.1: Mô hình thực thể - liên kết 43

Hình 3.1.1: Giao diện trang giới thiệu chung 48

Hình 3.1.2: Giao diện trang nhân sự 48

Hình 3.1.3: Giao diện trang lịch dạy 49

Hình 3.1.4: Giao diện trang môn học 49

Hình 3.1.5: Giao diện trang văn bản 49

Hình 3.1.6: Giao diện trang tài liệu 50

Hình 3.1.7: Giao diện trang tin tức 50

Hình 3.1.8: Giao diện trang chi tiếtt tin 50

Hình 3.1.9: Giao diện trang đề tài 50

Hình 3.2.1: Giao diện chức năng quản lí nhân sự 51

Hình 3.2.2: Giao diện chức năng quản lí lịch day 51

Hình 3.2.3: Giao diện chức năng quản lí học phần 51

Hình 3.2.4: Giao diện chức năng quản lí tài liệu 51

Hình 3.2.5: Form thêm mới tin tức 52

Hình 3.2.6: Giao diện trang quản lí đề tài 52

Hình 3.2.7: Giao diện trang quản lí tin tức 52

Trang 8

Đặng Thị Nhường- Lớp 51K1- Khoa CNTT

DANH MỤC BẢNG

Bảng 2.6.1: Bảng học phần 44

Bảng 2.6.2: Bảng sinh viên 44

Bảng 2.6.3: Bảng tài liệu 45

Bảng 2.6.4: Bảng học phần_tài liệu 45

Bảng 2.6.5: Bảng cán bộ 45

Bảng 2.6.6: Bảng hướng nghiên cứu 45

Bảng 2.6.7: Bảng thời khóa biểu 46

Bảng 2.6.8: Bảng thời khóa biểu_ học phần_ lớp 46

Bảng 2.6.9: Bảng đề tài 46

Bảng 2.6.10: Bảng cán bộ_ đề tài 46

Bảng 2.6.11: Bảng cán bộ _ hướng nghiên cứu 47

Bảng 2.6.12: Bảng tin tức 47

Bảng 2.6.13: Bảng sinh viên_cán bộ_đề tài 47

Bảng 2.6.14: Bảng thành viên 47

Trang 9

3 Nhiệm vụ

Tìm hiểu về LINQ to SQL và ứng dụng công nghệ này vào thiết kế web

Tìm hiểu nghiệp vụ thiết kế và quản lý website

Tìm hiểu các công cụ xây dựng chương trình

Sử dụng tất cả các công cụ và vốn hiểu biết để tạo một trang web với đầy đủ chức năng, dễ nhìn và có tính bảo mật

4 Đối tượng nghiên cứu

Website bộ môn Kỹ Thuật máy Tính

5 Phương pháp nghiên cứu

Khảo sát thực tế về nhu cầu tìm kiếm thông tin

Khảo sát thực tế, cụ thể là nghiệp vụ chức năng của bộ môn Kỹ thuật máy tính Thu thập tài liệu và sách báo về công nghệ LINQ to SQL

Thu thập tài liệu và sách báo liên quan đến việc thiết kế web

Tham khảo các trang web liên quan đến bộ môn

6 Ý nghĩa lí luận và thực tiễn

Việc tìm hiểu về LINQ to SQL nhằm nâng cao sự hiểu biết về công nghệ mới này trong việc lập trình, đặc biệt là việc thiết kế website Qua đó, cũng giúp phát triển kiến thức về khả năng lập trình trong học tập và nghiên cứu

Việc thiết kế website bộ môn Kỹ thuât máy tính có tính thực tế cao, nhằm đáp ứng nhu cầu tìm kiếm thông tin của đại bộ phận cán bộ và sinh viên đang theo giảng dạy và học tập tại khoa Công nghệ thông tin, chuyên nghành Kỹ thuật máy tính Website cũng hỗ trợ đầy đủ chức năng giúp người quản trị tiết kiệm thời gian và công sức trong việc quản lí và cập nhật tin tức

Trang 10

CHƯƠNG I: CÔNG CỤ LẬP TRÌNH 1.1 Công nghệ LINQ to SQL

Sau khi đã được mô hình hóa, chúng ta có thể truy vấn, cập nhật dữ liệu LINQ

to SQL cũng hỗ trợ đầy đủ giao tác (transaction), view và các thủ tục (stored procedure) Nó cũng cung cấp các khả năng kiểm tra tính hợp lệ của dữ liệu và các quy tắc trong mô hình dữ liệu

Chẳng hạn, sử dụng trình thiết kế LINQ to SQL, chúng ta có thể mô hình hóa CSDL “WEB_KTMT” như dưới đây:

Trang 11

Hình 1.1.1 Mô hình ánh xạ trong LINQ to SQL

Mô hình LINQ to SQL ở trên định nghĩa các lớp thực thể là: GiangVien, HocPhan, TaiLieu, HP_TL, ThoiKhoaBieu, DeTai, TinTuc,ThanhVien

Các thuộc tính của mỗi lớp ánh xạ vào các cột của bảng tương ứng trong CSDL

Các mũi tên giữa các lớp thực thể trên biểu diễn quan hệ giữa các thực thể Chúng được tạo ra dựa trên các mối quan hệ primary-key/foreign-key trong CSDL Hướng của mũi tên chỉ ra mối quan hệ là một – một hay một – nhiều Ví dụ, lớp GiangVien ở trên có một mối quan hệ một - nhiều với lớp DeTai, điều này có nghĩa là trong mỗi đối tượng GiangVien, sẽ có một tập hợp các đối tượng DeTais Và, trong mỗi đối tượng DeTai, cũng sẽ có một GiangVien chứa DeTai nay

Bên phải của trình thiết kế, chúng ta có thể kéo vào các thủ tục, các phương thức do chúng ta tự thiết kế trong khi lập trình

1.1.2 Sử dụng LINQ to SQL

2.1.2.1 Tạo mô hình dữ liệu LINQ to SQL

Có thể thêm một mô hình dữ liệu LINQ to SQL vào một dự án ASP.NET bằng cách

click chuột phải vào project, chọn Add ─˃Add New Item và chọn tùy chọn LINQ to SQL Classes, sau đó đặt tên cho lớp DataContext vào ô Name và bấm Add

Khi đó, một cửa sổ thiết kế LINQ to SQL hiện ra:

Trang 12

Hình 1.1.2: Cửa sổ thêm mới lớp LINQ to SQL

Hình 1.1.3: Cửa sổ thiết kế LINQ to SQL

1.1.2.2 Tạo các lớp thực thể

Để có thể tạo ra các lớp thực thể, trước hết ta cần kết nối với máy chủ CSDL

Ở cửa sổ Server Explorer, click vào biểu tượng Connect to Database (Vùng khoanh tròn) Cửa sổ Add Connection hiện ra Nhập tên máy chủ CSDL vào ô Server name, click Refressh, sau đó chọn CSDL mà chúng ta muốn sử dụngn để ánh xạ vào LINQ to SQL

Trang 13

Hình 1.1.4: Cửa sổ Server Explorer và cửa sổ Add Connection

Sau khi đã kết nối được với CSDL, chúng ta kéo các Table vào vùng trống ở phía bên trái Khi đó, tương ứng với mỗi table trong CSDL là một lớp thực thể trong DataContext

Hình 1.1.5: Ánh xạ các table trong cửa sổ thiết kế LINQ to SQL

Các Table, View từ CSDL được ánh xạ thành các Class được gọi là các lớp thực thể (Entity Class), và mỗi một cột trong bảng sẽ được ánh xạ thành một thuộc tính trong thực thể đó

Ví dụ, lớp LINQDataContext dưới đây được tạo ra từ mô hình CSDL WEB_KTMT ở trên:

Trang 14

Hình 1.1.6 Cửa sổ Class View Lớp LINQDataContext này sẽ chứa tất cả các thuộc tính biểu diễn mỗi bảng được mô hình hóa từ CSDL và chứa các phương thức hay thủ tục mà chúng ta tạo ra trong quá trình lập trình

1.1.3 Truy vấn trong LINQ to SQL

( Tất cả các ví dụ đều sử dụng mô hình ánh xạ trên)

1.1.3.1 Truy vấn dùng biểu thức truy vấn (Query Expresion)

[ order by thuộc_tính_cần_sắp_xếp descending|ascending]

select tên_biến1 | group tên_biến1 by thuộc_tính_cần_nhóm into

tên_nhóm

[select new {ds_các_trường_hiển_thị}]

Trang 15

- ds_các_trường_hiển_thị: cách nhau bởi dấu phẩy

Một biểu thức truy vấn phải bắt đầu bằng mệnh đề from và kết thúc bằng mệnh

đề select hoặc group Ở giữa mệnh đề from và mệnh đề select, có thể thêm vào các mệnh đề khác như: where, orderby, join, Hay một mệnh đề from khác

Ví dụ: đưa ra danh sách các giảng viên đã đăng tin trong ngày hôm nay Sắp xếp danh sách theo thứ tự tăng dần MaGV

1.1.3.2 Truy vấn sử dụng cú pháp Lambda

Biểu thức Lambda trả về kết quả truy vấn là Null hoặc là một tập các đối

tượng

Cú pháp Lamba trong LINQ to SQL có dạng:

(input parameters) => expression

Trong đó:

- Vế trái là các tham số đầu vào

- Ở giữa là toán tử “=>ˮ

- Vế phải là các biểu thức hoặc câu lệnh

Nếu chỉ có một tham số, dấu mở và đóng ngoặc là tùy chọn Ngược lại, với hai tham số trở lên thì bắt buộc phải có

Kiểu của các tham số có thể được khai báo tường minh hoặc không tường minh Nếu không khai báo, trình duyệt sẽ tự xác định kiểu, tuy nhiên trong một số trường hợp, bạn phải chỉ rõ kiểu của nó, ví dụ: s =>s.Lengh (lỗi)

Ở đây, phải khai báo kiểu dữ liệu cho biến s Sửa lại là (string s) =>s.Lengh

Ví dụ: Lọc ra tất cả các học phần có TenHP trùng với giá trị đang chọn

Trang 16

trêndrd_TenHP

Ở ví dụ trên, biến ten được ngầm hiểu là một thành phần con của đối tượng HocPhan (hay biến tên được ngầm hiểu có kiểu HocPhan)

*) Nói thêm về từ khóa var

Từ khóa var dành để khai báo biến mà không quan tâm đến kiểu dữ liệu của nó

Mặc định, nó tự gán kiểu dữ liệu của biến theo kiểu dữ liệu của kết quả trả về của biểu thức bên phải

Biến được khai báo sau từ khóa var phải được khởi tạo ngay khi khai báo

Câu lệnh khởi tạo phải là một biểu thức

Biểu thức khởi tạo không được có kiểu null (VD: var bien = null)

1.1.4 Các toán tử thường sử dụng trong LINQ to SQL

1.1.4.1 Toán tử select

Toán tử select dùng để thực hiện phép chiếu trên một chuỗi

Có 2 cách sử dụng mệnh đề select:

- Trả về một đối tượng

Ví dụ: trả về thông tin tất cả các tin tức có trong bảng TinTuc

- Trả về các thuộc tính do người dùng tự định nghĩa, nhưng các thuộc tính

này phải thuộc đối tượng Trong trường hợp này, ta sử dụng toán tử new đứng sau

mệnh đề select

Ví dụ: trả về danh sách cán bộ gồm họ tên, chức danh, học vị

1.1.4.2 Toán tử where

Toán tử where lọc về các kết quả thỏa mãn một yêu cầu cụ thể

Ví dụ: tìm tất cả giảng viên có chức danh “Tiến sĩ”

Ta có thể kết hợp toán tử where với các toán tử and hoặc or như sau:

Trang 17

Chú ý: and trong LINQ được viết là &&, or được viết là ||

1.1.4.3 Toán tử join

Toán tử join dùng kết nối hai đối tượng trong cùng một nguồn dữ liệu mà có

chung một thuộc tính

Cú pháp:

from (a) in (A)

join (b) in (B) on a.X equal b.X

Tạm dịch là: Lấy các đối tượng trong thực thể A kết nối đến các đối tượng trong thực thể B qua thuộc tính X

Ví dụ: tìm tất cả các giảng viên đang hướng dẫn đề tài

Ở ví dụ này, đối tượng GiangVien và đối tượng DeTai kết nối qua thuộc tính MaGV

Ví dụ: tìm các loại đề tài có nhiều hơn một đề tài

Trước tiên, phải nhóm các đề tài theo nhóm Sau đó, đếm số đề tài trong từng nhóm

Ở ví dụ trên, LoaiDT chính là khóa

Trang 18

1.1.4.5 Toán tử order by

Toán tử này dùng để sắp xếp các phần tử trong chuỗi theo một hoặc nhiều

thuộc tính

Ví dụ: sắp xếp các tin theo thức tự giảm dần ngày tháng

1.1.4.6 Toán tử Take() và Skip()

Hai toán tử này thường được dùng để phân trang kết quả truy vấn

Ví dụ: lấy về danh sách các tin tức, bất đầu từ tin thứ 0, lấy 10 tin

1.1.5 Thực hiện truy vấn trong LINQ to SQL

1.1.5.1 Đọc dữ liệu

Khi đã định nghĩa mô hình dữ liệu như trên, chúng ta có thể dễ dàng truy vấn

và lấy dữ liệu từ CSDL bằng cách viết các câu truy vấn dùng trong LINQ to SQL với lớp LINQDataContext mà chúng ta đã tạo

Ví dụ: lấy ra tất cả các tài liệu trong bảng TaiLieu có LoaiTL là “Học Tập”

1.1.5.2 Thêm dữ liệu

Để thêm một dòng vào CSDL, ta thực hiện các bước:

+) Khai báo một đối tượng mới

+) Thêm các thuộc tính cho đối tượng

+) Thêm đối tượng mới vào tập các đối tượng bằng lệnh InsertOnsubmit

+) Gọi phương thức SubmitChange() để lưu vào CSDL

Trang 19

Ví dụ: thêm tin mới vào tập các “TinTuc”

Ở ví dụ trên, ta đã khai báo một đối tượng mới là “tt” thuộc lớp “TinTuc” Sau

đó gán giá trị cho các thuộc tính: TenTin, ChiTietTin, Ngay, MaGV Tiếp đến, dùng lệnh InsertOnsubmit(tt) để thêm đối tương “tt” vào tập các đối tượng thuộc lớp

“TinTuc” Và cuối cùng, sử dụng phương thức SubmitChange() để cập nhật vào

CSDL

1.1.5.3 Xóa dữ liệu

Để xóa một dòng ra khỏi CSDL, ta thực hiện các bước:

+) Lọc những dòng cần xóa bằng truy vấn LINQ

+) Xóa đối tượng ra khỏi lớp thực thể chứa đối tượng đó

+) Gọi phương thức SubmitChange() để cập nhật thay đổi vào CSDL

Ví dụ: xóa tất cả các tài liệu học tập có trong danh sách TaiLieus

Để xóa tập danh sách các đối tượng, ta dùng DeleteAllOnSubmit (tập đối

tượng)

Nếu chỉ xóa một đối tượng , ta dùng lệnh DeleteOnSubmit(đối tượng cần xóa)

1.1.5.4 Cập nhật dữ liệu

Để thay đổi thông tin cho đối tượng, cần:

+) Tìm tất cả các đối tượng cần thay đổi bằng truy vấn LINQ

+) Đặt lại giá trị cho các thuộc tính

+) Gọi phương thức SubmitChange() để cập nhật thay đổi

Ví dụ: sửa tin có mã tin trùng với mã tin nhận được từ biến session

Trang 20

1.1.6 Sử dụng Stored Procedure trong LINQ to SQL

LINQ cũng cho phép chúng ta ánh xạ các thủ tục đã được tạo trong cơ sở dữ liệu thành các phương thức trong lớp DataContext, và sử dụng chúng như là các câu lệnh sql động để lấy dữ liệu về

Giả sử chúng ta đã tạo được một thủ tục để trả về danh sách các học phần có trong bảng học phần:

Bây giờ, chúng ta sẽ ánh xạ thủ tục này vào lớp Datacontext bằng cách vào cảu

sổ Server Explorer, mở danh sách các thủ tục và kéo thủ tục này lên cửa sổ thiết kế của LINQ to SQL:

Hình 1.1.7: Ánh xạ thủ tục trong LINQ to SQL

Mặc định, tên của phương thức được tạo ra trong lớp Datacontext chính là tên của thủ tục, và kiểu trả về của phương thức sẽ là một kiểu được tạo tự động với cách đặt tên theo dạng “[Tên_thủ_tục]Result” Ví dụ thủ tục trên sẽ trả về một dãy các đối tượngc ó kiểu ds_HocPhanResult Chúng ta có thể đổi tên của phương thức nếu muốn bằng cách chọn thủ tục rồi vào cửa sổ Property để đặt lại tên khác

Trang 21

Ví dụ: kéo thủ tục tt_dsHocPhan vào lớp HocPhan, sẽ trả về tập các đối tượng

có kiều HocPhan:

Ưu điểm khi sử dụng thủ tục ánh xạ lên các thực thể, là ta có thể thực hiện thêm, sửa, xóa các đối tượng của thực thể thông qua các thủ tục, mà không cầ viết một câu lệnh nào trong file mã nguồn cs, việc thay đổi này hoàn toàn xảy ra trên mô hình

dữ liệu, và trong suốt với các chương trình dùng nó

Ví dụ tạo thủ tục tt_ThemHocPhan có nhiệm vụ chèn thêm một bản ghi mới vào bảng HocPhan:

Trang 22

sổ hiện ra cho phép chúng ta tùy biến hành vi insert:

Nếu chọn chế độ mặc nhiên ("Use Runtime") thì LINQ to SQL sẽ tính toán và sinh ra câu lệnh SQL động để thực hiện các thao tác tương ứng Chúng ta có thể thay đổi bằng cách nhấn chuột vào Customize và chọn thủ tục tt_ThemHocPhan từ danh sách các SPROC:

Hình 1.1.8: Hộp thoại cấu hình thủ tục thêm dũ liệu

LINQ to SQL sẽ hiển thị các tham số của thủ tục mà ta đã chọn, và cho phép ánh xạ các thuộc tính của lớp HocPhan với các tham số của thủ tục tt_ThemHocPhan Mặc nhiên, LINQ to cũng tự động xác định các tham số tương ứng theo tên, tuy nhiên chúng ta có thể sửa lại nếu muốn

Ấn OK Và bây giờ, bất cứ khi nào một đối tượng HocPhan được thêm vào DataContext và phương thức SubmitChanges() được gọi, thủ tục tt_ThemHocPhan sẽ được thực thi thay cho câu lệnh SQL động

Trang 23

Bước 2: kéo thả vào cửa sổ LINQ to SQL

Bước 3: Cấu hình cho thủ tục bàng cách vào cửa sổ “Properties”, nhấp vào nút

“ ” ở mục “UpDate”

Hình 1.1.9: Cấu hình thủ tục sửa dữ liệu

Làm tương tụ như đối với thủ tục tt_ThemHocPhan, nhưng chú ý các giá trị chúng ta muốn gán là giá trị mới (Current) hay là giá trị gốc (Original) - là các giá trị lấy về lần đầu từ CSDL Ví dụ, gán gía trị MaHP(Current)_ “mới” vào tham số

@MaHP_moi của thủ tục tt_SuaHocPhan, và giá trị MaHP(Original)_ “gốc” vào tham

số @MaHP_cu

Nhấn “OK” Và từ bây giờ, mỗi khi cập nhật lại giá trị cho đối tượng HocPhan

và gọi SubmitChanges(), thủ tục tt_SuaHocPhan sẽ được gọi thay cho câu lệnh SQL

Trang 24

- Xóa dữ liệu

Làm tương tự như thêm và sửa

1.1.7 Sử dụng LinqDataSource

Điều khiển <asp:LinqDataSource> là một điều khiển ASP.NET hiện thực hóa

mô hình DataSourceControl được giới thiệu trong ASP.NET 2.0 Nó tương tự như các đièu khiển ObjectDataSource và SqlDataSource, được dùng để khai báo việc gắn nối

dữ liệu giữa một điều khiển ASP.NET với một nguồn dữ liệu Nhưng điểm khác biệt

là thay vì gắn nối trực tiếp vào CSDL (như SqlDataSource) hay vào một lớp

(ObjectDataSource), <asp:linqdatasource> được thiết kế để gắn vào một mô hình dữ liệu LINQ

Một trong những ưu điểm của việc dùng <asp:linqdatasource> là nó tận dụng được tính mềm dẻo của các trình cung cấp LINQ (LINQ provider: như LINQ to SQL, LINQ to Object…) Chúng ta không cần định nghĩa các phương thức truy vấn thêm, sửa, xóa cho nguồn dữ liệu để gọi, thay vào đó có thể trỏ <asp:linqdatasource> đến

mô hình dữ liệu của mà chúng ta đã tạo, chỉ ra lớp thực thể nào muốn làm việc, rồi gắn nối nó vào một điều khiển ASP.NET và cho phép chúng làm việc với nhau

Để thực hiện điều đó:

Bước 1: ta định nghĩa mô hình dữ liệu ( như đã giới thiệu ở phần trên)

Bước 2: tạo một điều khiển ASP.NET để thực hiện gắn nối

Bước 3: chuyển sang chế độ thiết kế, chọn điều khiển muốn gắn nối, và sau đó chọn “New Data Source…” bên trong dang sách “Choose Data Source:”

Hình 1.1.10: Cửa sổ tạo mới LinqDataSource cho điều khiển

Một hộp thoại sẽ hiện lên, trong đó có danh sách các loại datasource, chọn LINQ trong hộp thoại này, và đặt định danh cho điều khiển LinqDataSource vào ô:

Trang 25

Hình 1.1.11: Hộp thoại chọn cấu hình dữ liệu nguồn

Thực hiện các bước như hình dưới

Hình 1.1.12: Các hộp thoại cấu hình cho dữ liệu nguồn trong LinqDataSource

Ở đây, ta chọn dữ liệu nguồn cho điều khiển Gridview vừa tạo là bảng DeTai Sau khi ấn “Finish”, chúng ta đã có một danh sách các Đề tài theo dạng lưới không cần làm thêm bất kỳ điều gì

Hình 1.1.13: Danh sách các đề tài khi sử dụng LinqDataSource

LinqDataSource cũng cho phép phân trang và cho phép sửa, xóa dữ liệu mà cần thêm bất kỳ phương thức, ánh xạ nào, cũn không cầ viết thêm bất kỳ lệnh nào Tất

cả các thao tác đều tự động.Khi cập nhật, LINQ to SQL sẽ đảm bảo rằng các quy tắc

Trang 26

xử lý và kiểm tra dữ liệu mà ta đã thêm vào mô hình LINQ to SQL (dưới dạng các phương thức partial) cũng sẽ được thực hiện trước khi dữ liệu được thực sự cập nhật vào CSDL

Để thực hiện sắp xếp hoặc phân trang, chọn điều khiển mà chúng ta gắn nối LinqDataSource và nhấp vào hình tam giác nhỏ để bật lên ở chọn “ Enable Sorting”, hay “Enable Paging”

Hình 1.1.14: Phân trang và sắp xếp trong LinqDatasource

Để thực hiện tính năng sửa, xóa dữ liệu tự động, chọn “Configure Data Source”, chương trình sẽ đưa ta quay trở lại các cửa sổ cấu hình dữ liệu nguồn như ban đầu Chọn chức năng “Advanced” , đánh dấu check như hình dưới và “OK”

Hình 1.1.15: Xóa và chỉnh sửa dữ liệu trong LinqDataSource

Bây giờ ở chế độ thiết kế đã có thêm hai tùy chon mới là “Enable Deleting” và

“Enable Editing” Đánh dấu check vào hai tùy chon đó để thực hiên xóa, sửa dũ liệu

tự động

Chúng ta có thể xóa bớt các cột không cầ thiết bằng cách sửa mã nguồn, hay trong chế độ thiết kế Nhấp chuột lên cột muốn xóa và chọn “Remove Column”

Trang 27

Hình 1.1.16 : Xoá cột trong LinqDataSource

LinqDataSource cũng cho phép lọc lại dữ liệu các cột theo một tiêu chí nào đó, bằng cách vào chế độ thiêt kế, nhấp hình tam giác nhỏ ở điều khiển gắn nối

LinqDataSource, chọn “Configure Data Source”, cửa sổ thiết kế lúc đầu xuất hiện Ta chọn nút “Where” trong cửa sổ này để thêm một bộ lọc vào control datasource Có thể tạo ra nhiều bộ lọc nếu cần, và kéo các giá trị để lọc từ một vài chỗ khác nhau Ví dụ:

từ querystring (trên web), từ các giá trị trên form, từ các control khác trên trang…)

Ví dụ: lọc các loại đề tài theo điều khiển Dropdownlist trên trang web:

Hình 1.1.17: Kết quả sau khi thực hiện lọc đề tài theo loại dùng LinqDataSource

Và ở trang mã nguồn sẽ hiển thị:

Trang 28

Hình 1.1.18: Mã nguồn lọc đề tài trong LinqDataSource

1.2 SQL Server 2012

Server 2012 là một hệ thống quản lý cơ sở dữ liệu (Relational Database

Management System (RDBMS)) sử dụng Transact-SQL để trao đổi dữ liệu giữa máy khách (Client computer) và máy chủ (Server computer) Một RDBMS bao gồm máy chủ CSDL, các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác trong RDBMS SQL Server 2012 được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn, lên đến Tera- Byte và có thể phục vụ cùng lúc cho hàng ngàn user SQL Server 2012 có thể kết hợp “ăn ý” với các server khác nhau như: Microsoft Internet Information

Server (IIS), E- Commerce Server, Proxy Server…

Hình 1.2.1: Màn hình làm việc của SQL Server 2012

Trang 29

1.3 Visual Studio 2012

Visual Studio 2012 là bộ công cụ phát triển phần mềm tích hợp mạnh mẽ có trong phiên bản 3.5 của NET Framwork với những tính năng: thiết kế giao diện, hỗ trợ viết mã Visual Studio 2012 có khả năng sử dụng lại các đoạn mã mẫu Không những thế Visual Studio 2012 cho phép tạo ứng dụng với giao diện giống của

Outlook

Hình 1.3.1 : Giao diện Visual Studio 2012

1.4 HTML

1.4.1 Giới thiệu chung

HTML (HyperText Markup Language) là ngôn ngữ hiển thị siêu văn bản, dùng thiết kế các trang web Một tập tin HTML là một tập tin có đuôi html hoặc htm

HTML giúp định dạng văn bản trong trang Web nhờ các thẻ Hơn nữa, các thẻ html có thể liên kết từ hoặc một cụm từ với các tài liệu khác trên Internet Đa số các thẻ HTML có dạng thẻ đóng mở Thẻ đóng dùng chung từ lệnh giống như thẻ mở, nhưng thêm dấu xiên phải (/) Ngôn ngữ HTML qui định cú pháp không phân biệt chữ hoa chữ thường Ví dụ, có thể khai báo <html> hoặc <HTML> Không có khoảng trắng trong định nghĩa thẻ

Thanh công cụ chuẩn Solution Explorer: chứa các

trang đã được thiết kế

Hộp Toolbox: chứa các điều khiển

hỗ trợ thiết kế giao diện

Kéo thả các Toolbox vào

1 trong 2 vùng này

Viết mã HTML/CSS vào vùng này

Trang 30

Cấu trúc chung của một trang HTML

<!DOCTYPE>: Phần khai báo chuẩn của html hay xhtml

<head></head>: Phần khai báo ban đầu, khai báo về meta, title, css, javascript…

<body></body>: Phần chứa nội dung của trang web, nơi hiển thị nội dung

1.4.2 Các thẻ HTML cơ bản

1 Thẻ <head> </head>: Tạo đầu mục trang

2 Thẻ <title> </title>: Tạo tiêu đề trang trên thanh tiêu đề, đây là thẻ bắt

buộc Thẻ title cho phép bạn trình bày chuỗi trên thanh tựa đề của trang Web mỗi khi trang Web đó được duyệt trên trình duyệt Web

3 Thẻ <body> </body>: Tất cả các thông tin khai báo trong thẻ <body> đều

có thể xuất hiện trên trang Web Những thông tin này có thể nhìn thấy trên trang Web

4 Các thẻ định dạng khác Thẻ <p>…</p>:Tạo một đoạn mới Thẻ <font>

</font>: Thay đổi phông chữ, kích cỡ và màu kí tự,

5 Thẻ định dạng bảng <table>…</table>: Đây là thẻ định dạng bảng trên trang Web Sau khi khai báo thẻ này, bạn phải khai báo các thẻ hàng <tr> và thẻ cột

<td> cùng với các thuộc tính của nó

6 Thẻ hình ảnh <img>: Cho phép bạn chèn hình ảnh vào trang Web Thẻ này

thuộc loại thẻ không có thẻ đóng Thuộc tính “src” trong thẻ dùng đề chỉ đường dẫn tới ảnh

7 Thẻ liên kết <a> </a>: Là loại thẻ dùng để liên kết giữa các trang Web

hoặc liên kết đến địa chỉ Internet, Mail hay Intranet(URL) và địa chỉ trong tập tin

Ngày đăng: 27/08/2021, 11:15

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w