Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 31 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
31
Dung lượng
1,89 MB
Nội dung
TRƯỜNG ĐẠI HỌC NGÂN HÀNGTHÀNH PHỐ HỒ CHÍ MINH KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ - - Bài tiểu luận mơn học LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG ĐỀ TÀI: TÌM HIỂU VỀ ADO.NET Họ tên sinh viên: Lê Nguyễn Ngọc Hiệp Mã SV: 030235190043 Lớp: ITS326_211_D03 Giảng viên: Th.S Nguyễn Văn Thọ Tp Hồ Chí Minh, ngày 16 tháng 11 năm 2021 MỤC LỤC Lời mở đầu I Giới thiệu ADO.NET(Active X DataObject NET): Khái niệm: Đặc điểm: Các thư viện truy xuất CSDL ADO.NET Những loại ứng dụng sử dụng ADO.NET II Kiến trúc ADO.NET: Data Provider: DataSet: 15 III Kết nối ADO.NET với sở liệu: 23 ADO.NET kết nối với SQL Server Database 23 ADO.NET kết nối với Oracle Database 23 IV Thao tác SQL Server với C# [ADO.NET] 24 Truy xuất liệu từ SQL Server ADO.NET: 24 Thêm liệu vào SQL Server ADO.NET 25 Xóa liệu khỏi SQL Server ADO.NET 26 V Data Source Configuration Wizard 27 VII Tổng kết 30 TÀI LIỆU KHAM KHẢO 31 Lời mở đầu Trước NET xuất mơ hình sử dụng để kết nối ADO (ActiveX Data Object) Với đời NET ADO.NET phát triển để giúp lập trình viên viết ứng dụng làm việc với nguồn liệu dễ dàng thống nhờ việc sử dụng chung kiểu liệu, mẫu thiết kế (design pattern) quy tắc đặt tên ADO.NET thiết kế với tính năng: kiến trúc liệu khơng kết nối (disconnected data architecture), tích hợp với XML, tối ưu để kết nối với sở liệu (và nguồn liệu khác) Mặc khác, mơ hình lập trình ADO.NET giống ADO, rút ngắn thời gian tìm hiểu cho sử dụng qua ADO khứ Trong thực tế, có nhiều ứng dụng cần tương tác với sở liệu .NET Framework cung cấp tập đối tượng cho phép truy cập vào sở liệu, tập đối tượng gọi chung ADO.NET Với kiến trúc này, người dùng thao tác liệu họ nhận kết nối đến sở liệu họ cần thay đổi dòng liệu hay yêu cầu liệu Việc kết nối không liên tục đến sở liệu đem lại nhiều thuận lợi, điểm lợi việc giảm lưu lượng lớn truy cập vào sở liệu lúc, tiết kiệm đáng kể tài nguyên nhớ Giảm thiểu đáng kể vấn đề hàng trăm ngàn kết nối truy cập vào sở liệu lúc Trong trình thực tiểu luận với đề tài “Tìm hiểu ADO.NET” giúp em phần nắm phần ADO.NET Phần trình sau làm rõ ADO.NET vấn đề liên quan: Tổng quan ADO.NET, kiến trúc thành phần, thao tác, v.v… I Giới thiệu ADO.NET(Active X DataObject NET): Đây nhà phát triển NET bao gồm thư viện cung cấp Microsoft Nếu bạn theo lập trình Winform C# lập trình web cơng nghệ NET chắ đụng đến thư viện Nó xem cốt lõi công nghệ NET, giúp kết nối với database, xử lý truy vấn database trả kết cho người dùng Khái niệm: ADO.NET thư viện hướng đối tượng (OOP) cho phép bạn tương tác với liệu nguồn Thơng thường liệu nguồn sở liệu (database) SQL Server, Oracle, MySQL, file text, exel XML ADO.NET bao gồm tập hợp lớp sử dụng để kết nối, truy xuất, chèn xóa liệu khỏi nguồn liệu ADO.NET chủ yếu sử dụng System.Data.dll System.Xml.dll Đặc điểm: – ADO.NET phần NET Framework – Thư viện lớp có chức thao tác liệu ngôn ngữ MS.NET – ADO.NET dạng “Disconnected” Cho phép lấy cấu trúc phức tạp liệu từ sở liệu, sau ngắt kết nối thực thao tác xử lý ADO ln phải trì kết nối suốt q trình làm việc Mơi trường “connected” : Mỗi user có kết nối cố định tới data source đối tượng giao tiếp trực tiếp với CSDL Ưu điểm: + Môi trường bảo vệ tốt + Kiểm soát đồng + Dữ liệu Nhược điểm: + Phải có kết nối mạng cố định + Khả mở rộng Môi trường “disconnected”: Một tập liệu trung tâm chép bổ sung độc lập, sau hợp lại vào liệu trung tâm Cho phép user làm việc với liệu dạng offline (khi đóng kết nối sở liệu) Ưu điểm + Có thể làm việc lúc nào, kết nối vào Data Source + Cho phép user khác kết nối + Nâng cao hiệu suất thực ứng dụng Nhược điểm: + Dữ liệu không cập nhật cách nhanh + Sự tranh chấp xuất phải giải – Kế thừa ưu điểm ADO kết hợp với ý tưởng thiết kế hoàn toàn + Dựa vào XML: Chuẩn giao tiếp liệu phổ biến môi trường Internet + Hướng đối tượng: Đặc trưng thư viện NET Framework Đặc điểm Data xử lý ADO Recordset : tương đương bảng liệu database ADO.NET Dataset : tương đương database đưa vào nhớ dạng Duyệt liệu Dữ liệu ngắt kết nối Recordset cho phép duyệt tuần tự, dòng Recordset thiên hướng kết nối, nên việc hỗ trợ ngắt kết nối không mạnh Dataset : duyệt “tự do, ngẫu nhiên”, truy cập thẳng tới bảng, dòng, cột mong muốn Dataset hỗ trợ hoàn toàn ngắt kết nối ADO.NET trao đổi liệu qua Trao đổi liệu qua Internet Khả trao đổi liệu ADO Internet dễ dàng DO.NET qua Internet thường có nhiều hạn thiết kế theo chuẩn XML, chế Do dùng chuẩn COM chuẩn liệu sử dụng để trao đổi Internet Các thư viện truy xuất CSDL ADO.NET Như bạn biết rằng, có nhiều loại database Microsoft SQL Server, Microsoft Access, Oracle, Borland Interbase, IBM DB2,… thư viện truy xuất cụ thể Ví dụ: + System.Data.OleDb: Access, SQL Server, Oracle + System.Data.SqlClient: SQL Server + System.Data.OracleClient: Oracle Ghi chú: + Về mặt giao tiếp lập trình ứng dụng, thư viện khơng khác biệt nhiều + Dùng thư viện System.Data.SqlClient truy xuất SQL Server nhanh System.Data.OleDb + Dùng thư viện System.Data.OracleClient truy xuất Oracle nhanh System.Data.OleDb Những loại ứng dụng sử dụng ADO.NET ADO.NET sử dụng để phát triển loại ứng dụng NET Sau số ứng dụng NET mà bạn sử dụng cơng nghệ truy cập liệu ADO.NET để tương tác với nguồn liệu ASP.NET Web Form Applications Windows Applications ASP.NET MVC Applications Console Applications ASP.NET Web API Applications II Kiến trúc ADO.NET: Các thành phần ADO.NET thiết kế để thao tác liệu truy cập nhanh vào liệu Connecton, Command, DataReader, DataAdapter, DataSet DataView thành phần ADO.NET sử dụng để thực hoạt động sở liệu ADO.NET có hai thành phần sử dụng để truy cập thao tác liệu sau: Data Provider DataSet Data Provider: Các NET Framework data providers cung cấp đối tượng hỗ trợ cho việc mở kết nối tới sở liệu, sở liệu thực thi trực tiếp code C# chúng ta, hiểu SQL Vì vậy, ứng dụng NET muốn truy xuất liệu thực số thao tác chèn, cập nhật, xóa từ ứng ứng vào CSDL cần: Kết nối với CSDL Chuẩn bị câu lệnh SQL Thực lệnh Lấy kết hiển thị chúng ứng dụng Phần kết nối: sử dụng kết nối CSDL thao tác liệu, phải thực kết nối thao tác Connection: quản lý việc đóng mở DataBase + ConnectionString: loại Data Source cần kết nối + Open(): thiết lập kết nối đến Data Source + Close(): ngắt kết nối đến Data Source – Sau số phương thức quan trọng SqlConnection: + BeginTransaction: Nó sử dụng để bắt đầu transaction với sở liệu trả đối tượng đại diện cho transaction + ChangeDatabase(string database): Nó sử dụng để thay đổi sở liệu cho SqlConnection mở + ChangePassword(string connectionString, string newPassword): Thay đổi mật SQL Server cho người dùng định chuỗi kết nối thành mật cung cấp + Close(): Nó sử dụng để đóng kết nối với sở liệu Đây phương pháp tối ưu để đóng kết nối mở + CreateCommand(): Nó tạo trả đối tượng System.Data.SqlClient.SqlCommand liên kết với System.Data.SqlClient.SqlConnection + GetSchema(): Nó trả thong tin lược đồ cho nguồn liệu System.Data.SqlClient.SqlConnection + Open(): Phương thức sử dụng để mở kết nối sở liệu với cài đặt thuộc tính định System.Data.SqlClient.SqlConnection.ConnectionString SQL: SqlConnection cnn = new SqlConnection(); cnn.ConnectionString = “server= \\SQLEXPRESS; database=DataBase; Trusted_Connection=true”; cnn.Open(); //xử lý trình kết nối … cnn.Close(); + servername: Là tên server địa IP máy mà bạn muốn kết nối đến, server máy bạn thay "server=." + databasename: Là tên database mà bạn chọn để kết nối server khai báo trước + integrated security = true: Ở sử dụng quyền truy cập window để truy cập vào SQL Server ORACLE: OleDbConnection cnn = new OleDbSqlConnection(); cnn.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0; Data Source =Sinhvien.mdb”; cnn.Open(); //xử lý trình kết nối … cnn.Close(); Command: lệnh truy vấn, tương tác liệu lập kết nối ADO.NET SqlCommand C# sử dụng để lưu trữ thực thi câu lệnh SQL dựa sở liệu SQL Server Class SqlCommand lớp kế thừa từ class DbCommand triển khai interface ICloneable – SqlCommand C# cung cấp Thuộc tính sau: + Connection: kết nối để thực lệnh + CommandText: câu lệnh cần thực + CommandType: loại câu lệnh (Text,TableDirect, StoredProc) + tác động (Insert, Update, Delete…) – SqlCommand C# cung cấp phương thức sau + BeginExecuteNonQuery(): Phương thức bắt đầu thực thi không đồng câu lệnh Transact-SQL thủ tục lưu trữ mô tả System.Data.SqlClient.SqlCommand + Cancel(): Phương thức dùng để hủy bỏ việc thực thi System.Data.SqlClient.SqlCommand + Clone(): Phương thức tạo đối tượng System.Data.SqlClient.SqlCommand mới, + CreateParameter(): Phương thức tạo đối tượng System.Data.SqlClient.SqlParameter + ExecuteReader(): Phương thức gửi System.Data.SqlClient.SqlCommand.CommandText tới System.Data.SqlClient.SqlCommand.Connection xây dựng System.Data.SqlClient.SqlDataReader 10 + DefaultViewManager: Được sử dụng để xem chế độ tùy chỉnh liệu có System.Data.Set phép lọc, tìm kiếm điều hướng cách sử dụng System.Data.DataViewManager tùy chỉnh + DataSetName: Được sử dụng để lấy đặt System.Data.DataSet + EnforceConstraints: Được sử dụng để lấy đặt giá trị cho biết liệu quy tắc ràng buộc có tuân theo thực thao tác cập nhật hay không + HasErrors: Được sử dụng để nhận giá trị cho biết liệu có lỗi đối tượng DataTable DataSet hay không + IsInitialized: Được sử dụng để nhận giá trị cho biết liệu DataSet có khởi tạo hay khơng Nó trả true biết thành phần khởi tạo, ngược lại false + Prefix: Được sử dụng để lấy đặt tiền tố XML làm bí danh cho namespace System.Data.DataSet + Locale: Được sử dụng để lấy đặt thông tin ngôn ngữ cho việc so sánh chuỗi bảng + Namespace: Được sử dụng để lấy đặt tên namespace System.Data.DataSet + Site: Được sử dụng dể lấy thiết lập System.ComponentModel.ISite cho System.Data.DataSet + Relations: Được sử dụng để lấy tập hợp quan hệ liên kết bảng cho phép điều hướng từ bảng mẹ sang bảng + Tables: Được sử dụng để lấy tập hợp bảng có System.Data.DataSet – Các phương thức DataSet ADO.NET + BeginInit(): Nó bắt đâu khởi tạo System.Data.DataSet sử dụng biểu mẫu sử dụng component khác Quá trình khởi tạo xảy thời điểm bắt đầu chạy 17 + Clear(): Xóa DataSet liệu nào, cách xóa tất hàng tất bảng + Clone(): Sao chép cấu trúc DataSet, bao gồm tất Schema, quan hệ ràng buộc DataTable Nhưng ngược lại khơng chép liệu + Copy(): Sao chéo cấu trúc liệu DataSet chọn + CreateDataReader(): Trả DataTableReader với tập kết cho DataTable, theo trình tự giống bảng xuất System.Data.DataSet.Tables + CreateDataReader(params DataTable[] dataTables): Trả System.Data.DataTableReader với tập kết cho System.Data.DataTable + EndInit(): Nó kết thúc việc khởi tạo DataSet, sử dụng biễu mẫu sử dụng component khác + GetXml(): Trả biểu diễn XML liệu lưu trữ DataSet + GetXmlSchema(): Trả Schema XML cho biểu diễn XML liệu lưu trữ DataSet Nạp liệu vào DataSet từ database: Phương thức sau kết nối đến database SQL Server, sau nạp hai table User Group vào DataSet private static DataSet LoadData() { var conn = new SqlConnection( "Server=;Database=YinYangDB;Trusted_Connection=true"); conn.Open(); var cmd = "Select * from Users"; var dataAdapter = new SqlDataAdapter(cmd, conn); var dataSet = new DataSet(); dataAdapter.Fill(dataSet, "User"); 18 dataAdapter.SelectCommand.CommandText = "Select * from Groups"; dataAdapter.Fill(dataSet, "Group"); conn.Close(); return dataSet; } Phương thức Fill(DataSet) DataAdapter tự động lấy tên bảng mà bạn đặt CommandText để đặt tên cho DataTable, nhiên để chắn tên bảng trường hợp có sửa đổi, dùng overload Fill(DataSet,string) để đặt tên lại cho table Thay Fill() vào DataSet, bạn dùng Fill(DataTable) để tạo DataTable mới, sau thêm vào DataSet: var table=new DataTable("Group"); dataAdapter.Fill(table); dataSet.Tables.Add(table); Một số tên table trùng với từ khóa mà SQL sử dụng (ví dụ: User), điều xảy bạn đề phịng trước bẳng cách sử dụng quy tắc đặt tên sử dụng tiền tố, đặt tên theo danh từ số nhiều,…Ngoài cách nạp liệu từ datatable, bạn tạo liệu động cho DataTable thông qua collection Columns Rows Tạo liệu động cho DataTable Kiểu liệu DataColumn chứa đầy đủ property cần thiết để bạn tạo mơ hình liệu hồn chỉnh cho DataTable Ta tạo column dùng làm ID với số tự động tăng 1, không cho phép null sau: DataColumn col = new DataColumn("ID", typeof(int)); col.AllowDBNull = false; col.AutoIncrement = true; col.AutoIncrementSeed = 1; col.Unique = true; 19 Các DataColumn cần thiết phải có hai thơng tin tên kiểu liệu Khi có DataTable rỗng, công việc thêm DataColumn vào đơn giản Ví dụ: Tạo DataTable với tên Persons với ba column ID, Name Birthday với kiểu liệu tương ứng int, string DateTime: DataTable table = new DataTable("Persons"); DataColumn col = new DataColumn("ID", typeof(int)); col.AllowDBNull = false; col.AutoIncrement = true; col.AutoIncrementSeed = 1; col.Unique = true; table.Columns.Add(col); table.Columns.Add("Name", typeof(string)); table.Columns.Add("Birthday", typeof(DateTime)); DataTable rỗng chưa có liệu (chỉ có mơ hình liệu) Để tạo DataRow ta cần gọi phương thức DataTable.NewRow() Phương thức trả DataRow với ô chứa liệu tương ứng với cột DataTable Công việc thêm liệu đơn giản, dựa vào hai overload DataRowCollection.Add() bạn thấy đây: DataRow newRow = table.NewRow(); newRow["ID"] = 1; // remove this line newRow["Name"] = "Boo"; newRow["Birthday"] = new DateTime(1990,3,4); table.Rows.Add(newRow); table.Rows.Add(null, "Bee", new DateTime(1989, 5, 3)); Tạo DataRelation: 20 Khi bạn thêm table vào DataSet chúng chưa có relation Để tạo relation, sử dụng property Relations DataSet để thêm vào đối tượng DataRelation Ví dụ: Sau tạo relation hai table Group, User DataSet thông qua cột GroupID table với tên relation mà đặt Group_User DataSet dataSet = LoadData(); DataTable userTable = dataSet.Tables["User"]; DataTable groupTable = dataSet.Tables["Group"]; DataRelation relation=new DataRelation("Group_User", groupTable.Columns["GroupID"], userTable.Columns["GroupID"]); dataSet.Relations.Add(relation); Phương thức GetChildRows(): Sau có relation, ta dùng phương thức instance DataRow.GetChildRows() để lấy mảng DataRow bảng bảng DataRow[] groupRows = groupTable.Select("GroupID='1'"); DataRow[] memberRows = groupRows[0].GetChildRows("Group_User"); foreach (var row in memberRows) Console.WriteLine(row["UserName"]); Dòng lệnh đoạn mã lấy mảng DataRow phương thức DataTable.Select(string filterExpression) với tham số câu lệnh lọc (giống biểu thức sau từ khóa “where” SQL) Dựa vào liệu, ta biết mảng thực chất chứa phần tử, ta lấy phần tử mảng groupRows gọi phương thức GetChildRows(string relationName) Và kết in hình user nằm GroupID 1, tức “Member” 21 Phương thức GetParentRow(): Ngược với GetChildRows(), phương thức GetParentRow() trả DataRow từ bảng cha bảng dựa vào relation chúng Ví dụ sau cho thấy GroupName user có UserID “8”: DataRow[] childRows = userTable.Select("UserID='8'"); DataRow parentRow = childRows[0].GetParentRow("Group_User"); Console.WriteLine(parentRow["GroupName"]) Data Constraint DataTable Constraint “ràng buộc” mà bạn đặt cho DataColumn nhằm hạn chế đảm bảo vài quy tắc Có hai loại constraint mà bạn sử dụng: – UniqueConstraint: Các giá trị cột phải unique (duy nhất) – ForeignKeyConstraint: Duy trì liên kết DataTable DataSet Hai lớp thừa kế từ lớp abstract Constraint: DataTable userTable = dataSet.Tables["User"]; Constraint constraint=new UniqueConstraint(userTable.Columns["UserID"],true); userTable.Constraints.Add(constraint); Ví dụ tạo constraint cho cột UserID table User Tham số thứ hai constructor UniqueConstraint cột sử dụng có phải primary key khơng Vì tơi đặt true, cột UserID trở thành primary key table Bạn đặt thêm UniqueConstraint cho cột muốn bảo đảm giữ liệu không trùng Việc đặt constraint tương đương với việc bạn gán property DataColumn.Unique = true Và với tham số true để xác định primary key tương đương với việc bạn đặt DataTable.PrimaryKey phần 22 III Kết nối ADO.NET với sở liệu: ADO.NET kết nối với SQL Server Database Trong phần có đoạn code mẫu để kết nối với sở liệu SQL Server truy xuất liệu sau: SqlConnection connection = new SqlConnection("data source=.; database=TestDB; integrated security=true"); SqlCommand command = new SqlCommand("Select * from Customers", Connection); connection.Open(); SqlDataReader myReader = command.ExecuteReader(); while(myReader.Read()) { Console.WriteLine("\t{0}/t{1}", myReader.GetInt32(0), myReader.GetString(1)); } connection.Close(); *Lưu ý: Để sử dụng lớp bạn cần khai báo thư viện System.Data.SqlClient Đây thư viện sử dụng cho sở liệu SQL Server ADO.NET kết nối với Oracle Database Tương tự phần trên, có đoạn code sử dụng để kết nối với sở liệu Oracle: OracleConnection connection = new OracleConnection("data source=.;database=TestDB; integrated security=true"); OracleCommand command = new OracleCommand("Select * from Customers", connection); connection.Open(); OracleDataReader myReader = command.ExecuteReader(); 23 while (myReader.Read()) { Console.WriteLine("\t{0}\t{1}", myReader.GetInt32(0), myReader.GetString(1)); } connection.Close(); *Ngoài ra: Nếu bạn muốn giao tiếp với nguồn liệu OLEDB Excel, Access, bạn cần sử dụng lớp OleDbConnection, OleDbCommand OleDbDataReader Vì bạn cần khai báo thư viện System.Data.OleDb để sử dụng lớp IV Thao tác SQL Server với C# [ADO.NET] Truy xuất liệu từ SQL Server ADO.NET: Dưới đoạn code viết dùng để truy xuất liệu từ SQL Server ADO.NET static void Main(string[] args) { new Program().Retrieve(); Console.ReadKey(); } public void Retrieve() { SqlConnection = new SqlConnection(); con.ConnectionString = ConfigurationManager.ConnectionStrings["conn"].ConnectionString; try { SqlCommand cm = new SqlCommand("Select * from student", con); con.Open(); 24 SqlDataReader sdr = cm.ExecuteReader(); while (sdr.Read()) { Console.WriteLine(sdr["id"] + " " + sdr["name"] + " " + sdr["email"]); } } catch (Exception e) { Console.WriteLine("Co loi xay !!!" + e); } finally { con.Close(); } Thêm liệu vào SQL Server ADO.NET static void Main(string[] args) { new Program().Insert(); Console.ReadKey(); } public void Insert() { SqlConnection = new SqlConnection(); con.ConnectionString = ConfigurationManager.ConnectionStrings["conn"].ConnectionString; try { SqlCommand cm = new SqlCommand("insert into student (id, name, email, join_date) values ('101', 'Freetuts.net', 'Freetuts@gmail.com', '7/27/2021')", con); 25 con.Open(); cm.ExecuteNonQuery(); Console.WriteLine("Them moi du lieu cong!"); } catch (Exception e) { Console.WriteLine("Co loi xay ra!" + e); } finally { con.Close(); } Xóa liệu khỏi SQL Server ADO.NET static void Main(string[] args) { new Program().Delete(); Console.ReadKey(); } public void Delete() { SqlConnection = new SqlConnection(); con.ConnectionString = ConfigurationManager.ConnectionStrings["conn"].ConnectionString; try { SqlCommand cm = new SqlCommand("delete from student where id = '101'", con); con.Open(); cm.ExecuteNonQuery(); Console.WriteLine("Xoa cong du lieu !!!"); } 26 catch (Exception e) { Console.WriteLine("Co loi xay !!!" + e); } finally { con.Close(); } V Data Source Configuration Wizard Trong VS.NET 2005 có chức Data Source Configuration Wizard – Nhanh chóng thiết lập Data Source cho project – Xây dựng form hiển thị thao tác liệu – Thông qua thao tác kéo thả từ Data Source – Tạo ứng dụng Windows Application Trong menu Data | Add New Data Source Tạo New Connection 27 Hoàn tất khai báo Data Source Chọn bảng liệu Lưu chuỗi kết nối file cấu hình Kéo thả binding control vào Form Trong cửa sổ Data Source/Chọn bảng cần sử dụng/ Kích chọn vào dấu mũi tên xuống sau tên bảng Thiết lập view DataGridView hay Details 28 Kéo Table thả vào Form Tự động tạo binding control cho Bổ sung DataGridView cho Form table Thay đổi Table sang DataGrid Kéo Table Data Source thả vào Form Kết ứng dụng 29 VII Tổng kết ADO.NET kĩ thuật NET để thao tác với nguồn liệu Bạn có vài Data Provider, cho phép bạn giao tiếp với nguồn liệu khác nhau, dựa giao thức mà chúng dùng kiểu database Không cần quan tâm đến điều này, với Data Provider sử dụng, bạn dùng đối tượng tương tự để thao tác với liệu Đối tượng SqlConnection cho phép bạn quản lý kết nối đến nguồn liệu SqlCommand cho phép bạn gửi lệnh đến liệu Để đọc liệu nhanh theo chế forward-only, sử dụng SqlDataReader Nếu bạn muốn làm việc với liệu ngắt kết nối, dùng DataSet thực việc đọc ghi đến liệu nguồn SqlDataAdalter Trong khuôn khổ kiến thức, kỹ thời gian hạn chế, tiểu luận em khơng thể tránh khỏi thiếu sót Vì vậy, em mong thầy đóng góp ý kiến giúp em để đề tài hồn thiện Em xin chân thành cảm ơn thầy! 30 TÀI LIỆU KHAM KHẢO [1] Freetuts, “ADO.NET gì? Các thành phần quan trọng ADO NET” [Trực tuyến] Địa chỉ: https://freetuts.net/gioi-thieu-ve-adonet-5440.html#goto-h2-2.[Truy cập ] [2] Yinyang, “ADO.NET – Cơ DataSet (Part 1/2): Cấu trúc DataSet DataTable”[Trực tuyến] Địa : https://yinyangit.wordpress.com/2011/06/28/adonet%e2%80%93basic-dataset-part-1-of-2-dataset-and-datatable-structure/ [Truy cập] [3] Thư viện tài liệu, “BÀI GIẢNG GIỚI THIỆU CÔNG NGHỆ ADO.NET” [Trực tuyến] Địa : http://www.thuvientailieu.vn/tai-lieu/bai-giang-gioi-thieu-cong-ngheado-net-42052/ [Truy cập] [4] Gia Khoa, “Tong Quan ADO.NET” [Trực tuyến] Địa : https://giakhoa.files.wordpress.com/2011/10/01-tong-quan-ado.pdf [Truy cập] [5] “Giới thiệu công nghệ ADO.NET” [Trực tuyến] Địa : https://tailieu.vn/docview/tailieu/2016/20160609/tangtuy15/phu_luc_ket_noi_csdl_voi_a do_net_728.pdf?rand=893150 [Truy cập] 31 ... đáng kể tài nguyên nhớ Giảm thiểu đáng kể vấn đề hàng trăm ngàn kết nối truy cập vào sở liệu lúc Trong trình thực tiểu luận với đề tài ? ?Tìm hiểu ADO. NET? ?? giúp em phần nắm phần ADO. NET Phần trình. .. hình lập trình ADO. NET giống ADO, rút ngắn thời gian tìm hiểu cho sử dụng qua ADO khứ Trong thực tế, có nhiều ứng dụng cần tương tác với sở liệu .NET Framework cung cấp tập đối tượng cho phép... Phần trình sau làm rõ ADO. NET vấn đề liên quan: Tổng quan ADO. NET, kiến trúc thành phần, thao tác, v.v… I Giới thiệu ADO. NET( Active X DataObject NET) : Đây nhà phát triển NET bao gồm thư viện cung