0
Tải bản đầy đủ (.pdf) (81 trang)

TRUY CAƠP DỮ LIEƠU VỚI ADO.NET

Một phần của tài liệu LUẬN VĂN CÔNG NGHỆ THÔNG TIN PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN VÀ XÂY DỰNG CHƯƠNG TRÌNH THI TRẮC NGHIỆM MÔN TOÁN (Trang 49 -81 )

ADO.NET là moơt lớp trong Visual Studio.NET, chúng chia làm hai lối: lớp kêt nôi (hay còn gĩi Connected Layer) và lớp khođng kêt nôi (hay còn gĩi Disconnected Layer). Với hai lớp này chúng ta có theơ kêt nôi tređn các lối dữ lieơu như SQL Server, MySQL, MS Access… Trong trường hợp bán caăn thiêt phại truy caơp và xử lý đên dữ lieơu nguoăn như truy caơp baỉng phát bieơu select, insert (them mău tin), Delete (xoá)… bán phại sử dúng lớp kêt nôi. Ngược lái, khi thao tác tređn dữ lieơu tám thời, bán dùng lớp khođng kêt nôi.

Chương trình thi traĩc nghieơm mođn toán GVHD: Thaăy ThS. Vaín Như Bích

SVTH: Traăn Thị Bình An & Nguyeên Thị Hánh Trang 37

- Mođ hình ADO.NET:

Hình: Mođ hình đôi tượng ADO.Net cài đaịt tređn MicroSoft.Net Framework Trong đó:

- Data Provider: là moơt phaăn cụa mođ hình ADO.NET bao goăm bôn lớp:

Connection DataAdapter Command DataReader

ADO.NET Object Model System Data UI Data View Data Provider System.Data Data Relation

Data Table Data Table

Data Column Data Row Data Reader DataAdapter Command Connection Data Column Data Column Data Row

Chương trình thi traĩc nghieơm mođn toán GVHD: Thaăy ThS. Vaín Như Bích

SVTH: Traăn Thị Bình An & Nguyeên Thị Hánh Trang 38

+ Lớp Connection (hay còn gĩi lớp kêt nôi cơ sở dữ lieơu): sử dúng kêt

nôi dữ lieơu nguoăn. Đeơ kêt nôi chúng ta caăn khai báo Connection. Có ba lối kêt nôi: OdbcConnection, OleDbConnection, và SQLConnection.

Ví dú: kêt nôi SQLConection:

SqlConnection con = newSqlConnection ("server=localhost; database=TRACNGHIEM; user id=sa; password=;");

// Mở kêt nôi cơ sở dữ lieơu

con.Open();

//Đóng kêt nôi

con.Close();

// Hụy kêt nôi

con.Dispose();

+ DataAdapter: dùng đeơ nhaơn dữ lieơu từ dữ lieơu nguoăn, sau đó

chuyeơn vào DataSet và các lớp quan heơ như DataTable. DataAdapter sử dúng các đôi tượng Command đeơ lây dữ lieơu nguoăn và caơp nhaơt trở lái dữ lieơu nguoăn khi có sự thay đoơi.

+ Command: chức naíng cụa chúng dùng đeơ truy caơp dữ lieơu từ

DataAdapter hay truyeăn dữ lieơu vào DataSet thođng qua Adapter. Có bôn thuoơc tính cụa đôi tượng Command như sau:

* SelectCommand: Truy vân dữ lieơu từ nguoăn dữ lieơu. * InsetCommand: Theđm dữ lieơu vào nguoăn dữ lieơu. * DeleteComand: xoá dữ lieơu nguoăn.

* UpdateCommand: caơp nhaơt dữ lieơu.

+ DataReader: là lớp chư đĩc, dữ lieơu được đĩc theo moơt chieău từ dữ

lieơu nguoăn.

- DataSet: Thuoơc lớp khođng kêt nôi, là moơt phaăn cụa khođng gian teđn System.Data. Chúng bao goăm bạng (Table), coơt (Column), dòng (Rows),

quan heơ (Relation) và ràng buoơc (Constrains). Moơt trong những đieơm mánh cụa DataSet là khođng phú thuoơc vào dữ lieơu nguoăn, nó có theơ chứa dữ lieơu từ moơt hay nhieău cơ sở dữ lieơu khác nhau. Đeơ đieăn dữ lieơu từ DataAdapter vào DataSet chúng ta sử dúng phương thức Fill cụa DataAdapter.

Chương trình thi traĩc nghieơm mođn toán GVHD: Thaăy ThS. Vaín Như Bích

SVTH: Traăn Thị Bình An & Nguyeên Thị Hánh Trang 39

- DataTable: Dùng đeơ chê tác noơi dung cụa bạng trong taơp Tables cụa

lớp DataSet. Lớp DataTable naỉm trong boơ nhớ truy caơp nhanh cụa dữ lieơu từ moơt bạng, cũng như DataSet, lớp DataTable khođng có lớp con.

- DataView: Sử dúng đeơ xem dữ lieơu, cũng chính là tráng thái

DefaultView trong đôi tượng DataTable. DefaultView chư làm vieơc với các đôi tượng DataSet, khođng kêt hợp với DataAdapter. Bán có theơ sử dúng lớp này đeơ lĩc (filtering), saĩp xêp (sorting), tìm kiêm (search) và đieău hướng (navigation) ngay cạ khi kích hốt những hàng đó trong DataTable.

- DataRow: Sử dúng đeơ trình bày moơt hàng trong DataTable. Trong

thực tê DataRow và DataColumn là khôi chính táo neđn lớp DataTable.

- DataColumn: Hieơn thị lược đoă cụa moơt coơt trong lớp DataTable. - DataRelation: Dùng đeơ trình bày môi quan heơ cha/con (parent/child)

giữa hai DataTable với nhau. Đieău này được thực hieơn baỉng môi lieđn kêt thođng qua hai đôi tượng DataColumn tương thích với nhau cụa hai đôi tượng DataTable tương ứng.

V. CRYSTAL REPORT:

Crystal Report for C#.Net là cođng cú chuaơn, cho phép bán thiêt kê báo cáo tređn ứng dúng cụa Visual Basic.NET và Visual C#.Net. Ngoài ra, bán có theơ táo báo cáo tređn ứng dúng Web, sau đó thiêt laơp như moơt dịch vú tređn trình chụ. Taơp tin Crystal report có teđn mở roơng .rpt.

Trong Crystal Report có nhieău dáng khác nhau như sau:

Standart: Mău chuaơn có dáng bạng

Form Letter: Có dáng thư hoaịc vaín bạn

Form: Dáng Form

Cross-Tab: Báo cáo dáng chéo

Subrport: Dáng báo cáo con

Mail: Thư đieơn tử.

Các thuoơc tính cụa CRYSTALREPORTVIEWER

Khi bán sử dúng CrystalReportViewer đeơ hieơn thị tređn form cụa C#.NET, chúng ta caăn phại tìm hieơu các thuoơc tính cụa control này:

- Name: teđn cụa CrystalReportViewer, teđn này dùng đeơ tham chiêu

Chương trình thi traĩc nghieơm mođn toán GVHD: Thaăy ThS. Vaín Như Bích

SVTH: Traăn Thị Bình An & Nguyeên Thị Hánh Trang 40

- AutoScroll: Hai giá trị True/False, True cho phép tự đoơng hieơn thị

thanh trượt trong trường hợp trang báo cáo lớn hơn kích thước cụa Control

CrystalReportViewer.

- BackColor: màu neăn cụa CrystalReportViewer.

- BackGroundImage: Sử dúng taơp tin hình ạnh cho neăn Report.

- DisplayGroundTree: True/False, cho phép hieơn thị cađy dữ lieơu bao

goăm các trường cụa bạng.

- Enabled: True/False, cho phép người dùng có theơ thực hieơn các thao

tác tređn Report.

- ReportSource: vị trí cụa taơp tin .rpt CrystalReportViewer tređn đĩa ứng với CrystalReportViewer.

- ShowCloseButton: True/False cho phép hieơn thị hay khođng nút

Close cụa CrystalReportViewer tređn Toolbar.

- ShowGotoPageButton: True/False, cho phép hay khođng hieơn thị nút

Next đeơ di chuyeơn đên trang kê tiêp cụa CrystalReportViewer tređn Toolbar.

- ShowPrintButton: True/False, cho phép hieơn thị hay khođng nút Print cụa CrystalReportViewer tređn Toolbar.

- ShowRefreshButton: True/False, cho phép hieơn thị hay khođng nút

Refresh cụa CrystalReportViewer tređn Toolbar.

- ShowTextSearchButton: True/False, cho phép hieơn thị hay khođng nút Search cụa CrystalReportViewer tređn Toolbar.

- ShowZoomButton: True/False, cho phép hieơn thị hay khođng nút

Zoom cụa CrystalReportViewer tređn Toolbar.

- Size: kích thước cụa Report.

Ngoài ra, còn có moơt sô thuoơc tính khác cụa control này, chúng ta có theơ sử dúng help đeơ tìm hieơu theđm.

Chương trình thi traĩc nghieơm mođn toán GVHD: Thaăy ThS. Vaín Như Bích

SVTH: Traăn Thị Bình An & Nguyeên Thị Hánh Trang 41

B. TÌM HIEƠU HEƠ QUẠN TRỊ SQL SERVER 2000: I. LỊCH SỬ VAØ PHÁT TRIEƠN - SQL SERVER 2000: I. LỊCH SỬ VAØ PHÁT TRIEƠN - SQL SERVER 2000:

SQL Server là moơt heơ thông quạn lý cơ sở dữ lieơu quan heơ RDBMS hay còn được gĩi là Ralational Database Management System, là moơt trong những mođ hình cơ sở dữ lieơu quan heơ thođng dúng hieơn nay.

Khi nói đên RDBMS System, chúng ta nhìn lái quá trình phát trieơn cơ sở dữ lieơu qua nhieău thaơp nieđn, và ta tìm hieơu xem tái sao các cođng ngheơ cơ sở dữ lieơu hieơn nay được sử dúng roơng rãi trong lĩnh vực lưu trữ dữ lieơu.

E.F Cold cụa IBM giới thieơu qui taĩc câu trúc dữ lieơu quan heơ và ngođn ngữ SQL - Structured English Query Language hay còn gĩi là SEQUEL, nêu nói đúng ra trước 1960 thì chúng có teđn là SQL - Structured Query Language.

Khođng có bât kỳ moơt khái nieơm nào veă thê giới mođ hình quan heơ thực cho đên taơn thaơp nieđn 70, những cođng ty noơi tiêng nhu Oracle và Sybase trở thành những cođng ty đaău tieđn phát trieơn heơ thông cơ sở dữ lieơu quan heơ thực. Từ khi ra đời đã được sử dúng trong heơ thông máy Mainframe. Heơ thông này đã đưa ra hướng mới cho câu trúc, cođng ngheơ cơ sở dữ lieơu cháy tređn nhieău mođi trường khác nhau, và mở ra tieăm naíng chia sẽ cơ sở dữ lieơu cho nhieău heơ thông khác nhau.

Cho đên thaơp nieđn 60, vieơn tieđu chuaơn hợp chuaơn quôc Hoa Kỳ ra đời, nhaỉm đánh giá moơt thời kỳ mới cho heơ thông cơ sở dữ lieơu theo những chuaơn hoá chung cho SQL vàANSI-SQL, nhaỉm táo đieău kieơn cho các chuyeđn gia và các cođng ty có khạ naíng phát trieơn cơ sở dữ lieơu quan heơ theo tieđu chuaơn chung. Cho phép khạ naíng lieđn kêt hay giao tiêp giữa các heơ thông cơ sở dữ lieơu khác lái với nhau.

Haău hêt sạn phaơm cơ sở dữ lieơu quan heơ hieơn nay đeău dựa tređn chuaơn cụa SQL và ANSI-SQL như SQL Server, Oracle,..., nghĩa là tât cạ nhữngcơ sở dữ lieơu quan heơ đeău phại có những tieđu chuaơn theo cú pháp SQL, những phaăn phát trieơn cụa chính sạn phaơm đó còn gĩi là T-SQL. Từ đađy SQL Server 2000 ra đời cùng với sự phát trieơn cụa heơ đieău hành Window NT / 2000 cho đên ngày nay.

II. CÁC THAØNH PHAĂN CÂU THAØNH CỤA SQL SERVER 2000:  Database: cơ sở dữ lieơu cụa SQL Server.  Database: cơ sở dữ lieơu cụa SQL Server.

 Taơp tin log: taơp tin lưu trữ những chuyeơn tác cụa SQL.

Chương trình thi traĩc nghieơm mođn toán GVHD: Thaăy ThS. Vaín Như Bích

SVTH: Traăn Thị Bình An & Nguyeên Thị Hánh Trang 42

 Filegroups: taơp tin nhóm.

 Diagrams: sơ đoă quan he.ơ

 Views: khung nhìn sô lieơu dựa tređn bạng.

 Stored Procedure: thụ túc và hàm noơi.

 User defined Function: hàm do người dùng định nghĩa.

 Users: người sử dúng cơ sở dữ lieơu.

 Roles: các qui định vai trò và chức naíng trong heơ thông SQL Server.

 Rules: những qui taĩc.

 Defaults: các giá trị maịc nhieđn.

 User-defined data types: kieơu dữ lieơu do người dùng tự định nghĩa.

 Full-text catalogs: taơp phađn lối dữ lieơu text

III. CÁC PHÁT BIEƠU CƠ BẠN CỤA T-SQL :

1. PHÁT BIEƠU SELECT :

Cú pháp cụa phát bieơu SELECT : SELECT <danh sách các coơt> [FROM <danh sách các bạng>] [WHERE <các đieău kieơn ràng buoơc>]

[GROUP BY <teđn coơt hay bieơu thức sử dúng coơt trong SELECT>] [HAVING <đieău kieơn baĩt buoơc dựa tređn GROUP BY>]

[ORDER BY <danh sách coơt>] 2. PHÁT BIEƠU INSERT:

a. Insert vào bạng lây giá trị cú theơ:

Cú pháp:

INSERT INTO <Tablename1> [<columname list>] Values (data_value)

b. Insert vào bạng lây giá trị từ bạng khác:

Cú pháp:

INSERT INTO <Tablename1> [<columname list>] Select [columname list]

From < Tablename2> Where <Conditions>

Chương trình thi traĩc nghieơm mođn toán GVHD: Thaăy ThS. Vaín Như Bích

SVTH: Traăn Thị Bình An & Nguyeên Thị Hánh Trang 43

c. Insert vào bạng lây giá trị cụa bạng khác:

Cú pháp:

INSERT INTO <Tablename> [<columname list>] Select [columname list] , valueslist

From < Tablename2> Where <Conditions>

ORDER BY < colum name > ASC/DESC 3. PHÁT BIEƠU UPDATE:

a. Nêu caơp nhât giá trị cú theơ:

Cú pháp:

Update <table name>

Set <colum>=<value> , [<colum>=<value>] [Where <restrictive conditions>]

b. Nêu caơp nhât giá trị là kêt quạ trạ veă từ phát bieơu select tređn moơt hay

nhieău bạng khác:

Cú pháp:

Update <table name>

Set <colum>=<select . . from tablename where . . .> [Where <restrictive conditions>]

4. PHÁT BIEƠU DELETE: Cú pháp:

Delete from <table name> Where < conditions >

Chú ý: Khođng có khái nieơm xóa giá trị trong moơt coơt, vì xóa giá trị moơt coơt đoăng nghĩa với caơp nhaơt coơt đó baỉng giá trị roêng.

IV. MOƠT SÔ HAØM THOĐNG DÚNG TRONG SQL SERVER 2000:

1. Hàm AVG:

Hàm trạ veă giá trị bình quađn cụa coơt hay trường trong cađu truy vân Ví dú:

Chương trình thi traĩc nghieơm mođn toán GVHD: Thaăy ThS. Vaín Như Bích

SVTH: Traăn Thị Bình An & Nguyeên Thị Hánh Trang 44

2. Hàm MIN:

Hàm trạ veă giá trị nhỏ nhât cụa coơt hay trường trong cađu truy vân

Ví dú:

Select MIN (ReceiptAmount) fromtb1Receipt

3. Hàm MAX:

Hàm trạ veă giá trị lớn nhât cụa coơt hay trường trong cađu truy vân Ví dú:

Select MAX (ReceiptAmount) fromtb1Receipt

4. Hàm COUNT:

Hàm trạ veă sô lượng mău tin trong cađu truy vân tređn bạng Ví dú:

Select count (*) fromtb1Receipt

Select count (CustomerNo) fromtb1Receipt

5. Hàm SUM:

Hàm trạ ve toơng các giá trị cụa coơt hay trường trong cađu truy vân Ví dú:

Select sum (ReceiptAmount) fromtb1Receipt

6. Hàm day:

Hàm day trạ veă ngày thứ mây trong tháng Ví dú:

select ‘hom nay ngay : ’=day (getdate())

7. Hàm month:

Hàm month trạ veă tháng thứ mây trong naím Ví dú:

select ‘hom nay thang’ : ’=month (getdate())

8. Hàm year:

Hàm year trạ veă naím Ví dú:

select ‘naím nay là : ’=year (getdate())

9. Hàm square:

Hàm trạ veă là bình phương cụa moơt bieơu thức Ví dú:

Chương trình thi traĩc nghieơm mođn toán GVHD: Thaăy ThS. Vaín Như Bích

SVTH: Traăn Thị Bình An & Nguyeên Thị Hánh Trang 45

print square (9) Kêt quạ trạ veălà

81

10. Hàm sqrt:

Hàm trạ veă là caín baơc hai cụa moơt bieơu thức Ví dú:

print sqrt (9) Kêt quạ trạ veă là

3

V. LƯỢC ĐOĂ QUAN HEƠ TRONG SQL SERVER 2000 -DIAGRAM:

ERD (Entity Relationship Data) là cođng cú rât quan trĩng trong quá trình phađn tích thiêt kê heơ thông thođng tin qạn lý hay bât kỳ giại pháp ứng dúng khác, cho dù quy mođ cơ sở dữ lieơu lớn hay nhỏ.

ERD cho phép bán kieơm soát môi quan heơ giữa các thực theơ với nhau. Beđn cánh đó bán kieơm soát được thođng tin ra vào hay thay đoơi trong cơ sở dữ lieơu.

Xuât phát từ mođ hình dưới đađy bán có theơ xađy dựng cơ sở dữ lieơu thực tređn SQL baỉng cođng cú hoê trợ như Power Design, hay các cođng cú khác.

Chương trình thi traĩc nghieơm mođn toán GVHD: Thaăy ThS. Vaín Như Bích

SVTH: Traăn Thị Bình An & Nguyeên Thị Hánh Trang 46

Khi có câu trúc các bạng trong cơ sỏ dữ lieơu SQL Server, bán sử dúng bieơu đoă này đeơ thiêt kê kêt nôi từ coơt cụa bạng này sang bạng khác theo như lối quan heơ có trong sơ đoă màn hình quan heơ ERD.

VI. QUAN HEƠ – RELATIONSHIP:

1. Quan heơ moơt - moơt (One - to - One):

Quan heơ 1-1 là quan heơ giữa hai bạng với nhau, moơt mău tin ở bạng thứ nhât có quan heơ duy nhât moơt mău tin ở bạng thứ hai.

2. Quan heơ moơt - nhieău (One - to - Many):

Quan heơ moơt - nhieău giữa hai bạng với nhau, moơt mău tin trong bạng thứ nhât quan heơ với moơt hay nhieău mău tin ở bạng thứ hai. Lối quan heơ này rât phoơ biên trong thực tê.

3. Quan heơ nhieău - nhieău (Many - to Many):

Quan heơ nhieău - nhieău là ứng với moơt mău tin trong bạng thứ nhât có quan heơ với nhieău mău tin trong bạng thứ hai, và ứng với mău tin trong bạng thứ hai có quan heơ với nhieău mău tin trong bạng thứ nhât.

VII. THỤ TÚC THƯỜNG TRÚ (STORED PROCEDURES)

Thođng thường khi caăn thực hieơn chuyeơn tác trong cơ sở dữ lieơu, đođi khi bán có theơ khođng dùng đên phát bieơu SQL trực tiêp. Tât cạ những phát bieơu SQL được viêt dưới dáng như moơt đôi tượng cụa SQL Server là Stored Procedure, câu trúc cụa nó như là moơt vaín bạn text moêi khi muôn thực thi chư caăn gĩi chúng tương tự như gĩi thực thi thụ túc hoaịc hàm.

1. Táo Stored Procedure:

Đeơ táo Stored Procedure có hai cách: sử dúng cođng cú Query Analyzer hoaịc Enterprise Manager. Cú pháp chung được phát bieơu như sau:

CREATE PROCEDURE | PROC <procedure name> [<Parameters name> <data type>[VARYING] [=<default value>] [OUT PUT] [,

Chương trình thi traĩc nghieơm mođn toán GVHD: Thaăy ThS. Vaín Như Bích

SVTH: Traăn Thị Bình An & Nguyeên Thị Hánh Trang 47

[<Parameters name> <data type>[VARYING] [=<default value>] [OUT PUT] [,

.... .... ]] [WITH

RECOMPILE | ENCRIPTION | RECOMPILE | ENCRIPTION ]

[FOR REPLICATION] AS

<code> GO

Đốn <code> là các phát bieơu SQL Server và T – SQL bao goăm cạ biên, phép toán và các toán tử nêu có, chúng đaịt sau phát bieơu AS. Trước phát bieơu AS và sau khai báo teđn Stored Procedure (hay còn gĩi SP) là danh sách các tham sô caăn thiêt từ beđn ngoài truyeăn vào.

2. Thay đoơi Stored Procedure:

Đeơ thay đoơi Stored Procedure trong SQL Server, chúng ta sử dúng phát bieơu ALTER PROCEDURE, khi thay đoơi Stored Procedure caăn chú ý moơt sô đieơm sau:

- Stored Procedure đó phại toăn tái.

- Tuỳ thuoơc vào quyeăn hán người sử dúng có theơ thay đoơi Stored Procedure hay khođng.

- Kieơm tra tât cạ các thođng tin có lieđn quan đên các đôi tượng khác trong khi bị thay đoơi.

3. Xóa Stored Procedure:

Đeơ xóa Stored Procedure cũng như xóa các đôi tượng khác, ta phại sr dúng phát bieơu DROP:

DROP PROC | PROCEDURE <Procedure name>

4. PHÁT BIEƠU ĐIEĂU KHIEƠN

a. Phát bieơu IF… ELSE

Phát bieơu IF… ELSE sử dúng rât nhieău trong các ngođn ngữ laơp trình. T-SQL cũng vaơy, nó đóng vai trò quan trĩng trong các leơnh bó (batch) SQL và ngay cạ Stored Procedure hoaịc Trigger. Cú pháp có dáng như sau:

IF <Boolean Expression>

Chương trình thi traĩc nghieơm mođn toán GVHD: Thaăy ThS. Vaín Như Bích

SVTH: Traăn Thị Bình An & Nguyeên Thị Hánh Trang 48

ELSE

<SQL Statement> | BEGIN <code series> END

Trong phát bieơu IF… ELSE, nêu có từ hai phát bieơu hay cađu leơnh con trở leđn thì phại sử dúng BEGIN và END, Boolean Expression là các phép

Một phần của tài liệu LUẬN VĂN CÔNG NGHỆ THÔNG TIN PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN VÀ XÂY DỰNG CHƯƠNG TRÌNH THI TRẮC NGHIỆM MÔN TOÁN (Trang 49 -81 )

×