1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu về LINQ to SQL và ứng dụng (Đồ án tốt nghiệp)

96 290 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 96
Dung lượng 18,01 MB

Nội dung

Tìm hiểu về LINQ to SQL và ứng dụng (Đồ án tốt nghiệp)Tìm hiểu về LINQ to SQL và ứng dụng (Đồ án tốt nghiệp)Tìm hiểu về LINQ to SQL và ứng dụng (Đồ án tốt nghiệp)Tìm hiểu về LINQ to SQL và ứng dụng (Đồ án tốt nghiệp)Tìm hiểu về LINQ to SQL và ứng dụng (Đồ án tốt nghiệp)Tìm hiểu về LINQ to SQL và ứng dụng (Đồ án tốt nghiệp)Tìm hiểu về LINQ to SQL và ứng dụng (Đồ án tốt nghiệp)Tìm hiểu về LINQ to SQL và ứng dụng (Đồ án tốt nghiệp)Tìm hiểu về LINQ to SQL và ứng dụng (Đồ án tốt nghiệp)Tìm hiểu về LINQ to SQL và ứng dụng (Đồ án tốt nghiệp)Tìm hiểu về LINQ to SQL và ứng dụng (Đồ án tốt nghiệp)

Trang 2

- 2017

Trang 3

Sinh viên Mã sinh viên: 1312101025

Ng

Trang 4

m th c t p

Trang 5

ngày tháng ngày tháng

Sinh viên

Trang 6

Trang 7

Trang 8

Em xin chân thành c

H i Phòng, ngày 31 tháng 08

Sinh viên

Trang 9

1.1.1 .8

1.1.2 .9

1.2 LINQ to SQL 10

1.2.1 .11

1.2.2 L 12

12

b) n 13

14

1.3 15

1.4 .15

1.4.1 Object Model 15

1.4.2 ORM (Object Relations Mapping ) 16

1.4.3 O/R Designer ( Object Relations Designer) 17

1.4.4 Entity Class 18

1.4.5 Association 18

1.4.6 DataContext 18

1.5 18

1.6 19

1.7 20

23

XÂY D NG D NG 23

2.1 23

2.1.1 .23

2.1.2 .23

2.1.3 25

2 .28

2.2.1 .28

Trang 10

2.2.2 .33

75

K T QU C NGHI M 75

3.1 .75

3.1.1 .75

a) .75

b) .75

c) .80

d) Ngành 82

e) .82

3.2 .86

K T LU N 87

TÀI LI U THAM KH O 88

Trang 11

Hình .19

Hình LinQ to SQL 19

Hình 2.1 24

Hình .25

Hình 2.3 26

Hình 2.4 27

Hình 2.5 HI 27

Hình 2.6 .28

Hình 2.7 .29

Hình 2.8 29

Hình 2.9 .30

Hình 2.10 .30

Hình 2.11 .31

Hình 2.12 31

Hình 2.13 32

Hình 2.14 .32

Hình .33

Hình .34

Hình .35

Hình .36

Hình .36

Hình .37

Hình .38

Hình .38

Hình .39

Hình .40

Trang 12

Hình .41

Hình .42

Hình .43

Hình .44

Hình .45

Hình .46

Hình 47

Hình .48

Hình .48

Hình .49

Hình .50

Hình .51

Hình .52

Hình .53

Hình .54

Hình 55

Hình .56

Hình .57

Hình .57

Hình .58

Hình .59

Hình .60

Hình .61

Hình .62

Hình 2.49 Mã .63

Hình .63

Hình .64

Hình .65

Hình ew 66

Trang 13

Hình .77

Hình sinh viên theo mã sinh viên 77

Hình .78

Hình .78

Hình .79

Hình .79

Hình .80

Hình .80

Hình 3.12.C p nh t ngành 81

Hình .81

Hình .82

Hình .82

Hình .83

Hình sinh viên 83

Hình .84

Hình .84

Hình .85

Hình .85

Trang 14

Trang 16

-1.1 LinQ là gì?

k

LINQ (Language Integrated Query

(objects) LINQ cho

1.1.1.

Student Classroom

Trang 17

Mangsinhvien và Mangtruong

Trang 18

SQL Sever Databases: LinQ to Sql

XML documents: LinQ to XML

ADO.NET datasets : LINQ to Dataset

+ Cho phép truy v n các Dataset ho c DataTable

LinQ to Objects

+ Cho phép truy v ng trong m t t p các ph n t ngu n, các

Hình 1.1

Trang 19

M i c a LINQ hay ph c v cho h qu n tr

s d li u SQL Server và n n t ng NET nói chung hay ngôn ng l p trình C#/VB.NET nói riêng ch không ph i m i trà cho các ngôn ng l p trình hay các h qu n tr d li u khác Ta bi t r ng:

C# là

Trang 20

thành viên trong gia

a)

em

Trang 21

QLHP sinhvien-lop-nganh-danop-v_danop,

.

b)

LINQ to SQL cu

Hình 1.2

Trang 22

Hình 1.3

Trang 23

Ch thao tác duy nh t v i h qu n tr d li u SQL server.

Ch có th t ng t o Data Model t Database ch không th t o Database t Data Model.

Ch cho phép ánh x 1:1 gi a các Table v i các l p Data Model ( t c là không th

t o 1 Data Model là k t qu k t h p t 2 b ng d li u tr lên).

- Object Model

- ORM ( Object Relations Mapping )

- O/R Designer ( Object Relations Designer )

Trang 24

1.4.2 ORM (Object Relations Mapping)

tr c ti p 1-1 gi

s d li u quan h v i các class c a NET.

T mô hình quan h Database Diagram chuy n thành LINQ to SQL Mapping Diagram.

Visual Studio IDE t phiên b n 2008 có h tr 2 ORM là : LINQ to SQL và ADO.NET ENTITY FRAME WORK ( có t version 3.5 SP1).

Hình 1

Trang 25

1.4.3 O/R Designer ( Object Relations Designer )

Là m t công c trong Visual Studio IDE có t phiên b

h tr vi c t o ra Oblect Model.

Phát sinh ra các ENTITY Class (Các Table, View t d li c

ENTITY Class s ánh x n m t Table và m t Property s ánh x n

m t Column c a Table.

Hình 1

Hình 1

Trang 26

Có th t o ra m t Strong-Typed DATACONTEXT cho riêng ng d ng

Trang 27

-Là c u n i giao ti p gi a Application và SQL Server

Hình 1

Hình 1

Trang 28

Select Data : ng truy v n và l y d li u t d li u b ng câu

Trang 29

Join : ng liên k t các b d li u b ng câu l nh LinQ

to SQL.

+

Trang 30

+

+

Trang 31

Ho ng qu n lí h c phí c i h c Dân l p H c mô t

a) ng có r t nhi u ngành h c khác nhau, thông tin v m i ngành

nh t m i ngành.

b) Có r t nhi u l p h c khác nhau, m i l p có m t Mã l p duy nh t Nhi u

c) ng có r t nhi u sinh viên, thông tin v m i sinh viên bao g m:

Mã sinh viên, H tên sinh viên, Ngày sinh, Khóa h c Mã sinh viên nh duy nh t m i sinh viên Nhi u sinh viên thu c m t l p.

d) Khi sinh viên n p ti n h c phí thì thông tin s c ghi l i g m: S phi u

n p, Ngày n p h c phí, S ti n sinh viên n p S phi u n p xác

nh duy nh t M i l n sinh viên n p h c phí thì s có m t phi u n p duy

a) V mô hình ER

Trang 32

SINH VIÊNcó

Mã sinh viên

Ngày sinh1

1

1n

n

n

Hình 2.1

Trang 33

sinh viên, H tên, Ngày sinh, Khóa h c, Mã l p Khóa chính là Mã sinh viên, khóa ngoài là Mã l p

g m các c t: S phi u, Ngày n p, S ti phi u là khóa chính, khóa ngoài là Mã sinh viên

Hình 2.2

Trang 34

Hình 2.3

Trang 35

Hình 2.5

Hình 2.6

Trang 36

FILE NEW PROJECT

Hình 2.7

Trang 37

Project Item (Ctrl + Shift + A)

Hình 2.8

Hình 2.9

Trang 38

Hình 2.10

Hình 2.11

Trang 39

Hình 2.12

Hình 2.13

Trang 40

Hình 2.14

Trang 41

Code ch y giao di n Menu

private void thôngTinCácSinhViênToolStripMenuItem_Click(object sender, EventArgs e){

Sinh_viên f = new Sinh_viên();

Trang 42

Giao di n Form Sinh viên

Hình

Trang 43

T o truy v n cho Form sinh viên

Hình 2.18 Giao

Trang 44

T o th t truy v n d li u cho List Box c a

b ng sinh viên

Database HOCPHI

Ch n Programmability => Click chu t ph i vào Stored Prceduces

=> New Stored Prceduces

Hình

Trang 45

t truy v n d li u theo tên Sinh viên c a List Box

t c Stored Prceduces truy v n d li u.

o m i gian vi t code, gi m thi u tình tr ng quá t i cho

Hình

Trang 46

G i th t c Stored Prceduces b ng câu l nh LinQ to SQL

private void lb_timsinhvien_SelectedIndexChanged(object sender, EventArgs e){

Trang 47

+ d ng ch a LinQ to SQL

Câu l nh cho nút Thêm m i

private void bt_themmoi_Click(object sender, EventArgs e){

Trang 48

sinhvien sv = new sinhvien();

p thông tin Sinh viên c}

Hình

Trang 49

Câu l nh cho nút S a

Hình

Trang 50

Câu l nh cho nút Xóa

private void bt_xoa_Click(object sender, EventArgs e)

{

var svtim = (from bangsv in db.sinhviens

where bangsv.Mã_SV == tb_masv.Text

foreach (var sv in svtim)

Trang 51

Câu l nh cho nút Tìm ki m sinh viên theo mã sinh viên

var query = from k in lp

join sv in Sinhviens on k.Mã_l p equals sv.Mã_l pjoin n in ng on k.Mã_ngành equals n.Mã_ngànhwhere sv.Mã_SV == tb_masv.Text

group k by new { k.Mã_l p, sv.Mã_SV, sv.H _tên, sv.Khóa_h c, sv.Ngày_sinh, n.Tên_ngành } into nh

select new { nh.Key.Mã_SV, nh.Key.H _tên, nh.Key.Ngày_sinh, nh.Key.Khóa_h c, nh.Key.Mã_l p, nh.Key.Tên_ngành };

Trang 53

Câu l nh cho nút Th p h c phí theo l p +

Hình

Trang 54

+

Hình

Trang 55

T o truy v n cho Form L p

// hi n th toàn b danh sách sinh viên lên b xem

}

Hình

Trang 56

G i th t c Stored Prceduces b ng câu l nh LinQ to SQL +

Hình

Trang 57

Câu l nh cho nút Thêm m i

private void bt_thêm_Click(object sender, EventArgs e)

{

tb_malop.Text = null;

tb_manganh.Text = null;

Hình

Trang 58

//hi n th l i d li u c a b c thêm m i

var svnew = from banglop in db.lops

Hình

Trang 59

Câu l nh cho nút S a

private void bt_s a_Click(object sender, EventArgs e)

{

//tìm sinh viên c n s c nh p vào t b ng sinh viên

var loptim = (from banglop in db.lops

where banglop.Mã_l p == tb_malop.Textselect banglop);

//duy t t ng v c trong b th c hi n s a các thông tin theo yêu

Trang 60

Câu l nh cho nút Xóa

private void bt_xóa_Click(object sender, EventArgs e){

var loptim = (from banglop in db.lops

where banglop.Mã_l p == tb_malop.Textselect banglop);

foreach (var sv in loptim)

Trang 61

Câu l nh cho nút Tìm ki m l p theo mã l p

group k by new { k.Mã_l p, n.Mã_ngành, n.Tên_ngành } into nhselect new { nh.Key.Mã_l p, nh.Key.Mã_ngành, nh.Key.Tên_ngành };dtg_ket_qua.DataSource = query;

Trang 62

Câu l nh cho nút Th ng kê h c phí c a các sinh viên trong l p theo mã

var query = from k in lp

join sv in Sinhviens on k.Mã_l p equals sv.Mã_l pjoin a in dn on sv.Mã_SV equals a.Mã_SV

Trang 64

T o truy v n cho Form Ngành

private void F_Nganh_Load(object sender, EventArgs e)

{

//hi n th toàn b sinh viên lên danh sách ch tìm

var nganhnew = from bangnganh in db.nganhs

Trang 65

G i th t c Stored Prceduces b ng câu l nh LinQ to SQL

Trang 66

Câu l nh cho Data Grid View c a Form L p

private void dtg_ket_qua_CellContentClick(object sender, DataGridViewCellEventArgs e)

{

int r = dtg_ket_qua.CurrentCell.RowIndex;

var manganh_tim = dtg_ket_qua.Rows[r].Cells[0].Value.ToString();

var nganhtim = (from bangnganh in db.nganhs

where bangnganh.Mã_ngành == manganh_timselect bangnganh);

foreach (var kq in nganhtim)

Câu l nh cho nút Thêm m i

private void bt_themmoi_Click(object sender, EventArgs e)

Hình

Trang 67

p thông tin Ngành c}

//hi n th l i d li u c a b ng s c thêm m ivar nganhnew = from bangnganh in db.nganhs

Trang 68

Câu l nh cho nút S a

private void bt_sua_Click(object sender, EventArgs e)

{

var nganhtim = (from bangnganh in db.nganhs

where bangnganh.Mã_ngành == tb_manganh.Textselect bangnganh);

//duy t t ng v c trong b th c hi n s a các thông tin theo yêu c u

foreach (var sv in nganhtim){

sv.Mã_ngành = tb_manganh.Text;

sv.Tên_ngành = tb_tennganh.Text;

}db.SubmitChanges();

Trang 69

Câu l nh cho nút Xóa

+

private void bt_xoa_Click(object sender, EventArgs e)

{

var nganhtim = (from bangnganh in db.nganhs

where bangnganh.Mã_ngành == tb_manganh.Textselect bangnganh);

foreach (var sv in nganhtim)

Trang 70

Câu l nh cho nút Tìm ki m ngành theo mã ngành +

private void bt_tim_Click(object sender, EventArgs e)

{

if (tb_manganh.Text != ""){

var nganhtim = (from bangnganh in db.nganhs

where bangnganh.Mã_ngành == tb_manganh.Textselect bangnganh);

dtg_ket_qua.DataSource = nganhtim;

tb_manganh.Text = null;

tb_tennganh.Text = null;

}else{MessageBox.Show("C p mã Ngành ", "Thông báo");}

tb_manganh.Text = null;

tb_tennganh.Text = null;

}

Hình

Trang 71

Giao di n b ng N p h c phí c a sinh viên

+

Hình

Trang 72

T o truy v n cho Form N p h c phí c a sinh viên

join sv in Sinhviens on k.Mã_l p equals sv.Mã_l pjoin n in dn on sv.Mã_SV equals n.Mã_SV

group n by new { n.S _phi u, n.Mã_SV, n.Ngày_n p, n.S _ti n, sv.H _tên } into nh

select new { nh.Key.S _phi u, nh.Key.Mã_SV, nh.Key.H _tên, nh.Key.Ngày_n p, nh.Key.S _ti n };

//hi n th toàn b danh sách sinh viên lên b xem

dtg_ket_qua.DataSource = query;

}

Trang 73

if (tb_timtheoten.Text != ""){

var svtim = (from k in Sinhvienswhere k.H _tên == tb_timtheoten.Textselect k);

dtg_hotrotimten.DataSource = svtim;

}else{

p h tên Sinh viên ", "Thông báo");

}}

thông

Hình

Trang 74

Câu l nh cho Data Grid View c a Form n p h c phí

var masv_tim = dtg_ket_qua.Rows[r].Cells[0].Value.ToString();

var svtim = (from bangnop in db.danops

where bangnop.S _phi u == Convert.ToInt16(masv_tim)select bangnop);

foreach (var kq in svtim)

{

tb_sophieunhap.Text = kq.S _phi u.ToString();

tb_maSV.Text = kq.Mã_SV;

tb_ngaynop.Text = kq.Ngày_n p.ToString();

tb_sotien.Text = kq.S _ti n.ToString();

}

}

Hình

Trang 76

var svtim = (from bangnop in db.danops

Hình

Trang 77

tb_ngaynop = null;

tb_sophieunhap = null;

tb_sotien = null;

}

Câu l nh cho nút Xóa

private void bt_xoa_Click(object sender, EventArgs e)

{

var svtim = (from bangnop in db.danops

where bangnop.S _phi u == Convert.ToInt16(tb_sophieunhap.Text)select bangnop);

foreach (var sv in svtim)

Hình

Trang 78

db.danops.DeleteOnSubmit(sv);

}

db.SubmitChanges();

//hi n th l i d li u c a b ng sinh viên sau khi xóa

var svnew = from bangsv in db.sinhviens

Câu l nh cho nút Tìm ki m kho n thu theo mã sinh viên

private void bt_timkiem_Click(object sender, EventArgs e)

{

Hình

Trang 80

Câu l nh cho nút th ng kê sinh p theo ngày

private void bt_thongketheongay_Click(object sender, EventArgs e)

var query = from k in dn

join sv in Sinhviens on k.Mã_SV equals sv.Mã_SVgroup sv by new { k.Ngày_n p } into nh

select new {

Trang 81

where k.S _ti n >= Convert.ToInt32(tb_min.Text) && k.S _ti n < Convert.ToInt32(tb_max.Text)

group sv by new { k.S _ti n, k.Mã_SV, sv.H _tên, k.S _phi u, k.Ngày_n p } into nh

select new{

nh.Key.Mã_SV,nh.Key.H _tên,nh.Key.Ngày_n p,nh.Key.S _phi u,nh.Key.S _ti n};

Trang 82

Hình Tìm ki

Trang 83

b) Giao di n Form sinh viên

Giao di n Thêm, s a, xóa, tìm ki m và th ng kê sinh viên

Hình

Trang 84

C p nh t sinh viên

Trang 85

Tìm ki m sinh viên theo mã sinh viên

Hình 3.4

Hình 3.5

Trang 86

L y thông tin sinh viên t ListBox

Hình 3.6

Trang 87

Tìm ki m l p theo mã l p

Hình 3.8

Hình 3.9

Trang 88

L y thông tin l p t ListBox

Hình 3.10

Trang 89

Tìm ki m ngành theo mã ngành

Hình 3.12

Hình 3.13

Trang 90

L y thông tin l p t ListBox

e) Giao di n Form N p h c phí

Giao di n Form n p h c phí

Hình 3.14

Trang 91

Tra c u tên sinh viên

Hình 3.17 Hình 3.16

Trang 92

Giao di n Thêm, s a, xóa, tìm ki m và th ng kê n p h c phí

C p nh t phi u thu

Hình 3.18

Trang 93

Th p h c phí theo ngày

Hình 3.20

Hình 3.21

Trang 94

3.2 Nh n

Gi m b t các câu l nh th Tùy bi n các câu l nh SELECT, INSERT, DELETE, UPDATE d dàng

Rút ng c th i gian th c thi các câu l nh trên SQL.

Trang 96

-TÀI LI U THAM KH O

[1] http://www.sqltolinq.com/

[2] https://www.tutorialspoint.com/linq/linq_sql.htm[3].https://namdh.wordpress.com/2008/12/04/linq-book/[4].https://goo.gl/j3wmFf

Ngày đăng: 24/02/2018, 20:23

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w