http:// lhu.edu.vn http:// lhu.edu.vn 11 Ts. V Ts. V ũ Đứ ũ Đứ c Lung c Lung – – Ks Ks . H . H uỳ uỳ nh Cao Tu nh Cao Tu ấ ấ n n - - Ks Ks . P . P han H han H ữ ữ u Ti u Ti ế ế p p C C á á c th c th à à nh ph nh ph ầ ầ n trong ADO.NET n trong ADO.NET L i ích trong vi¸ c sædØng DataSet Hoàn toàn trong bộ nhớ: Một Table trong Dataset là một Array of Rows, nên ta có thể dùng thẳng (direct access) một record bằng cách nói đến cái Row chứa nó, chớ không cần phải dùng MoveNext, MovePrev,.v.v. Làm nhẹ công tác của Database server. Tất cả mọi công tác sửa đổi dữ liệu đều được thực hiện trong Dataset. Dataset có thể đư ợc biểu diễn bằng một XML (eXtensible Marked Language) This is trial version www.adultpdf.com http:// lhu.edu.vn http:// lhu.edu.vn 12 Ts. V Ts. V ũ Đứ ũ Đứ c Lung c Lung – – Ks Ks . H . H uỳ uỳ nh Cao Tu nh Cao Tu ấ ấ n n - - Ks Ks . P . P han H han H ữ ữ u Ti u Ti ế ế p p C C á á c th c th à à nh ph nh ph ầ ầ n trong ADO.NET n trong ADO.NET DataTable: DataTable: DataTable là 01 thành ph«n trong Dataset DataTable ch a d li¸ u cº a 01 b§ng trong Dataset và thu c l p DataTable.Datable bao g m • T–p h p Columns thuôc l p DataColumnCollectiontrong đ ó m i c t là m t đ i tm ng thu c l p DataColumn • T–p h p Rows thuôc l p DataRowCollectiontrong đ ó m i c t là m t đ i tm ng thu c l p DataRow This is trial version www.adultpdf.com http:// lhu.edu.vn http:// lhu.edu.vn 13 Ts. V Ts. V ũ Đứ ũ Đứ c Lung c Lung – – Ks Ks . H . H uỳ uỳ nh Cao Tu nh Cao Tu ấ ấ n n - - Ks Ks . P . P han H han H ữ ữ u Ti u Ti ế ế p p C C á á c th c th à à nh ph nh ph ầ ầ n trong ADO.NET n trong ADO.NET DataRelation: DataRelation: Dataset bao g m t–p h p các table đ ¥i di¸ n bª i các đ i tm ng DataTable và quan h¸ gi a các table đ ó đ ¥i di¸ n bª i các đ i tm ng DataRelation DataRelation, ngmÆi dùng có th˙ : • ˇnh ngh›a m i quan h¸ gi a các b§ng • Duy¸ t d li¸ u trong các b§ng theo m i quan h¸ Master – Detail aM t đ i tm ng ki˙ u DataRelation bao g m các thông tin: • Tên cº a Parent Table và Child Table • Các column trong DataRelation đ ¥i di¸ n cho PrimaryKey trong Parent và ForeignKey trong Child Table This is trial version www.adultpdf.com http:// lhu.edu.vn http:// lhu.edu.vn 14 Ts. V Ts. V ũ Đứ ũ Đứ c Lung c Lung – – Ks Ks . H . H uỳ uỳ nh Cao Tu nh Cao Tu ấ ấ n n - - Ks Ks . P . P han H han H ữ ữ u Ti u Ti ế ế p p C C á á c th c th à à nh ph nh ph ầ ầ n trong ADO.NET n trong ADO.NET DataRelation: DataRelation: V i DataRelation, ADO.NET cung c' p cho ngmÆi l–p trình m t cách th c m i đ ˙ xælý d li¸ u. D li¸ u vfln n m trong các b§ng thay vì b ˇ gom t nhi¯ u b§ng thành 01 RecordSet nhmng vfln có th˙ truy c–p d dàng và hi¸ u qu§. Ví dØ: trong parent table có 10 dòng, m i dòng trong Parent table có 10 dòng con trong Child table Cách c˚ : dùng 01 truy v' n kˆ t h p hai b§ng đ ˙ l' y 1 l«n 100 mflu tin hay dùng 02 RecordSet, m i l«n RecordSet Master thay đ i mflu tin hi¸ n hành thì mª l¥i RecordSet Detail This is trial version www.adultpdf.com http:// lhu.edu.vn http:// lhu.edu.vn 15 Ts. V Ts. V ũ Đứ ũ Đứ c Lung c Lung – – Ks Ks . H . H uỳ uỳ nh Cao Tu nh Cao Tu ấ ấ n n - - Ks Ks . P . P han H han H ữ ữ u Ti u Ti ế ế p p C C á á c th c th à à nh ph nh ph ầ ầ n trong ADO.NET n trong ADO.NET DataRelation: DataRelation: Khuyˆ t đ i˙ m: d li¸ u bˇ l' y th a vì không ch‡c ngmÆi dùng s` đ i xem hˆ t 100 mflu tin đ ã l' y và khó thao tác thêm, sæa, xóa, V i cách th 2, d li¸ u ch˝ l' y v a đ º nhmng ch –m hkn vì m i l«n thay đ i Master l¥i ph§i truy v' n d li¸ u cho Detail Phương ph Phương ph á á p m p m ớ ớ i: Ch i: Ch ỉ ỉ c c ầ ầ n l n l ấ ấ y d y d ữ ữ li li ệ ệ u 01 l u 01 l ầ ầ n duy nh n duy nh ấ ấ t t nhưng d nhưng d ữ ữ li li ệ ệ u v u v ẫ ẫ n n n n ằ ằ m trong c m trong c á á c b c b ả ả ng, d ng, d ễ ễ d d à à ng thao t ng thao t á á c x c x ử ử lý lý This is trial version www.adultpdf.com http:// lhu.edu.vn http:// lhu.edu.vn 16 Ts. V Ts. V ũ Đứ ũ Đứ c Lung c Lung – – Ks Ks . H . H uỳ uỳ nh Cao Tu nh Cao Tu ấ ấ n n - - Ks Ks . P . P han H han H ữ ữ u Ti u Ti ế ế p p C C á á c th c th à à nh ph nh ph ầ ầ n trong ADO.NET n trong ADO.NET R R à à ng Bu ng Bu ộ ộ c Trên Quan H c Trên Quan H ệ ệ : : ADO.NET ch˝ cho phép xác đ ˇnh 02 lo¥i ràng bu c UniqueConstraint: đ §m b§o tính duy nh' t v¯ giá trˇ cº a m t c t trong table ForeignKeyContraint: ch˝ ra cách ng dØng s` thı c hi¸ n khi c–p nh–t hay xóa d li¸ u trên b§ng có quan h¸ v i b§ng khác Các giá trˇ cº a ForeignKeyContraint là: None: không làm gì c§ Cascade: phØ thu c vào dòng trên parent table s` bˇ c–p nh–t hay xóa SetDefault:giá trˇ cº a c t khóa ngo¥i trên detail table đm c đ »t v¯ giá trˇ m»c đ ˇnh khi dòng trên parent table bˇ xóa SetNull: gi ng SetDefault , giá trˇ đm c đ »t là NULL This is trial version www.adultpdf.com http:// lhu.edu.vn http:// lhu.edu.vn 17 Ts. V Ts. V ũ Đứ ũ Đứ c Lung c Lung – – Ks Ks . H . H uỳ uỳ nh Cao Tu nh Cao Tu ấ ấ n n - - Ks Ks . P . P han H han H ữ ữ u Ti u Ti ế ế p p C C á á c th c th à à nh ph nh ph ầ ầ n trong ADO.NET n trong ADO.NET DataView: DataView: a aDataView g«n gi ng v i khái ni¸ m RecordSet cº a ADO. Trên m t DataTable có th˙ t¥o nhi¯ u DataView v i các đ i¯ u ki¸ n l c, s‡p xˆ p d li¸ u khác nhau. Trên DataView ta có th˙ xem hay thay đ i giá trˇ các mflu tin DataView cº a ADO.NET có nhi¸ m vØkˆ t n i v i các control cº a WinForm và Web Form This is trial version www.adultpdf.com http:// lhu.edu.vn http:// lhu.edu.vn 18 Ts. V Ts. V ũ Đứ ũ Đứ c Lung c Lung – – Ks Ks . H . H uỳ uỳ nh Cao Tu nh Cao Tu ấ ấ n n - - Ks Ks . P . P han H han H ữ ữ u Ti u Ti ế ế p p Đi Đi ể ể m n m n ổ ổ i b i b ậ ậ t trong ADO.NET t trong ADO.NET Tmkng tác gi a nhi¯ u h¸ th ng khác nhau (Interoperability) H tr nhi¯ u ngmÆi dùng (Scanlability) Mª r ng kh§ n ng làm vi¸ c v i CSDL (Productivity) Hi¸ u qu§ cao trong xælý d li¸ u (Performance) Ck chˆ làm vi¸ c ª ADO.NET: XædØng d li¸ u ª d¥ng disconnect data Client t¥o kˆ t n i v i server đ ˙ l' y d li¸ u Server gæi d li¸ u v¯ cho Client Client ng‡t kˆ t n i v i Server Khi c«n c–p nh–t d li¸ u, kˆ t n i gi a Client và Server đm c phØc h i ThÆi gian kˆ t n i gi a Client và Server không còn lâu nhm trm c This is trial version www.adultpdf.com http:// lhu.edu.vn http:// lhu.edu.vn 19 Ts. V Ts. V ũ Đứ ũ Đứ c Lung c Lung – – Ks Ks . H . H uỳ uỳ nh Cao Tu nh Cao Tu ấ ấ n n - - Ks Ks . P . P han H han H ữ ữ u Ti u Ti ế ế p p C C á á c đ c đ ố ố i tư i tư ợ ợ ng trong ADO.NET ng trong ADO.NET Khai báo và sử dụng không gian tên (namespace) <%@ Import Namespace="System.Data.OleDb" %> -Các đ i tm ng và ki˙ u ck b§n phØc vØADO.NET -Các l p đm c thiˆ t kˆ đ ˙ làm vi¸ c v i b' t k ngu n d li¸ u nào - Thiˆ t kˆ t i mu cho CSDL SQL server -System.Data -System.Data.OleDb -System.Data.SqlClient MØc đ íchNamespace This is trial version www.adultpdf.com http:// lhu.edu.vn http:// lhu.edu.vn 20 Ts. V Ts. V ũ Đứ ũ Đứ c Lung c Lung – – Ks Ks . H . H uỳ uỳ nh Cao Tu nh Cao Tu ấ ấ n n - - Ks Ks . P . P han H han H ữ ữ u Ti u Ti ế ế p p Đ Đ ố ố i tư i tư ợ ợ ng Connection ng Connection Data Provider: Data Provider có s„ n trong ADO.NET • System.Data.OleDb • System.Data.SqlClient ng v i m i tên mi¯ n có m t connection tmkng ng System.Data.OleDb.OleDbConnection System.Data.SqlClient.SqlConnection C§ OleDBConnection và SQLConnection đ ¯ u có các thu c tính và phmkng th c gi ng nhau nhm ConnectionString , State hay Open - Các Provider mà OLEDB và SQL có th˙ kˆ t n i d li¸ u: SQLOLEDB: OLEDB Provider cº a Microsoft cho SQL Server MSDAORA: OLEDB Provider cº a Microsoft cho Oracle JOLT: OLEDB Provider cho Jet This is trial version www.adultpdf.com . ph nh ph ầ ầ n trong ADO. NET n trong ADO. NET DataRelation: DataRelation: V i DataRelation, ADO. NET cung c' p cho ngmÆi l–p trình m t cách th c m i đ ˙ x lý d li¸ u ph ầ ầ n trong ADO. NET n trong ADO. NET DataRelation: DataRelation: Dataset bao g m t–p h p các table đ ¥i di¸ n bª i các đ i tm ng DataTable và quan h¸ gi a các table. th à à nh ph nh ph ầ ầ n trong ADO. NET n trong ADO. NET DataTable: DataTable: DataTable là 01 thành ph«n trong Dataset DataTable ch a d li¸ u cº a 01 b§ng trong Dataset và thu