C KẾT HỢP VỚI CƠ SỞ DỮ LIỆU

27 647 0
C KẾT HỢP VỚI CƠ SỞ DỮ LIỆU

Đ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

Sự kết hợp giữa c và hệ quản trị cơ sở dữ liệu sẽ giúp chúng ta quản lý hệ thống một cách dễ dàng hơn....việc này sẽ giúp các ban biết cách sừ dụng lập trình C vào việc quản lý một hệ thống cơ sở dữ liệu .

7/5/16 LẬP TRÌNH CSDL VỚI C# PHAN TRỌNG TIẾN BM Công nghệ phần mềm Khoa Công nghệ thông tin, VNUA Email: phantien84@gmail.com Website: http://timoday.edu.vn 7/5/16 Lập trình CSDL với C# Giới thiệu chung q  ADO.NET cải tiến ADO (Active Data Objects), sử dụng để tương tác với CSDL nguồn liệu hỗ trợ NET q  ADO.NET cung cấp nhiều component cho tạo ứng dụng phân tán, chia sẻ liệu q  ADO.NET truy xuất đồng tới nguồn liệu khác SQL Server XML, nguồn liệu qua OLE DB ODBC 7/5/16 Lập trình CSDL với C# 7/5/16 Nội dung Tổng quan Tổng quan ADO Net Net Data Provider Demo: Lấy liệu dùng ADO Net Đối tượng DataSet Thiết kế gắn kết liệu Tích hợp XML Lab: Tạo ứng dụng ADO.Net 1.  2.  3.  4.  5.  6.  7.  8.  7/5/16 Lập trình CSDL với C# Mục đích chương q  Chương cung cấp sinh viên kiến thức cần thiết để tạo ứng dụng mức cao truy cập liệu dùng C# q  Sau sinh viên có thể: q Liệt kê lợi ích ADO Net q Tạo ứng dụng dùng ADO Net q Liệt kê thành phần đối tượng ADO.Net chức q Dùng VS.Net để thiết kế gắn kết liệu q Giải thích cách tích hợp XML ADO.Net 7/5/16 Lập trình CSDL với C# 7/5/16 Tổng quan q  Bạn học cách sử dụng ADO Net q  Cách sử dụng đối tượng DataSet q  Bạn học cách thiết kế liệu VS.Net cách gắn liệu lên WinForm WebForm q  Cuối bạn học cách tích hợp XML vào ADO Net 7/5/16 Lập trình CSDL với C# Tổng quan ADO Net q  Giới thiệu ADO Net q  Các lợi ích ADO Net 7/5/16 Lập trình CSDL với C# 7/5/16 Giới thiệu ADO Net 7/5/16 Lập trình CSDL với C# Giới thiệu ADO.Net q  ADO.Net tập lớp cho phép ứng dụng Net đọc cập nhật thông tin DB nơi lưu trữ liệu khác Namespace: System.Data q  ADO.Net cung cấp đồng cách truy cập nguồn liệu khác SQL Server, OLE DB, nguồn liệu không quan hệ MS Exchange, tài liệu XML q  ADO.Net cải tiến khả disconnect tới liệu 7/5/16 Lập trình CSDL với C# 7/5/16 Giới thiệu ADO.Net q  ADO.Net cung cấp bốn Net Data Providers: q .Net Data Provider cho SQL Server q .Net Data Provider cho OLE DB q .Net Data Provider cho ODBC q .Net Data Provider cho Oracle q  ADO.Net cung cấp nhiều công cụ cho việc đọc, cập nhật, thêm xóa liệu Nhiều đối tượng thư viện tương tự nhận diện qua tên tiền tố chúng ví dụ SqlDataReader OleDbDataReader hai cung cấp đọc ghi từ nguồn liệu 7/5/16 Lập trình CSDL với C# Các lợi ích ADO.Net q  Tương tự ADO q  Được thiết kế cho liệu không kết nối q  Nằm nội Net Framework nên dễ dàng việc sử dụng ngôn ngữ để phát triển q  Hỗ trợ XML q ADO XML có trước không tương thích q ADO dựa sở liệu quan hệ q XML dựa sở liệu phân cấp q ADO.Net kết hợp hai công nghệ lại với 7/5/16 Lập trình CSDL với C# 10 7/5/16 .Net Data Provider q  Net Data Provider cho phép truy cập nguồn liệu xác định: q System.Data.SqlClient dùng truy câp SQL Server 7.0 trở lên q System.Data.OleDb dùng truy cập nguồn liệu hỗ trợ OLE DB q System.Data.Odbc q System.Data.OracleClient q  Dùng đối tượng Connection q Kết nối tới Database q  Dùng đối tượng Command q Thực thi câu lệnh tuỳ chọn trả liệu từ q Dùng đối tượng Command với Stored Procedure q  Dùng đối tượng DataReader q đối tượng để tạo luồng liệu đọc q  Dùng đối tượng DataAdapter q đối tượng để trao đổi liệu nguồn DataSet 7/5/16 Lập trình CSDL với C# 11 Đối tượng Connection q  Dùng để kết nguồn liệu, chuỗi kết nối thiết lập qua thuộc tính ConnectionString q  SqlConnection SqlConnection conSQL = new SqlClient.SqlConnection( ); conSQL.ConnectionString = “Server = localhost; DataSource = Northwind; Uid = sa; Pwd = admin123;”; conSQL.Open( ); q  OleDbConnection OleDbConnection conAccess = new OleDb.OleDbConnection( ); conAccess.ConnectionString = "Provider= Microsoft.Jet.OLEDB.4.0;Data Source=c:\NWind.MDB”; conAccess.Open( ); 7/5/16 Lập trình CSDL với C# 12 7/5/16 Đối tượng Command q  Được dùng để thực câu truy vấn (query) tuỳ chọn trả kết q  Có thể dùng với stored query procedure chấp nhận tham số truyền vào Tên Mô tả CommandText Thuộc tính định câu lệnh SQL tên Stored procedure CommandType Thuộc tính xác định kiểu câu lệnh SQL Connection Thuộc tính cung cấp vào đối tượng Connection CreateParameter Phương thức để cung cấp Parameter câu lệnh SQL 7/5/16 Lập trình CSDL với C# 13 Đối tượng Command q  Có hai cách để tạo đối tượng Command: q  Có ba cách để thực thi Command: q Sử dụng Contructor q ExecuteReader Command q Sử dụng phương thức CreateCommand q ExecuteScalar q ExecuteNonQuery q ExecuteXMLReader SqlCommand commSQL = new SqlCommand( ); commSQL.Connection = conSQL; commSQL.CommandText = "Select Count(*) from Products”; MessageBox.Show(commSQL.ExecuteScalar( ).ToString); 7/5/16 Lập trình CSDL với C# 14 7/5/16 Đối tượng Command với Stored Procedure q  Tạo đối tượng Command q  Thiết lập CommandType StoredProcedure q  Dùng phương thức Add để tạo thiết lập biến (Parameter) q  Dùng thuộc tính ParameterDirection để thiết lập kiểu biến q  Gọi phương thức ExecuteReader q  Dùng đối tượng DataReader để hiển thị duyệt qua ghi đóng kết thúc q  Truy cập đầu trả biến 7/5/16 Lập trình CSDL với C# 15 Demo: Đối tượng Command q  Bạn thảo Stored Procedures: [CustOrdersDetail] CSDL NorthWind ALTER PROCEDURE [dbo].[CustOrdersDetail] @OrderID int AS SELECT ProductName, UnitPrice=ROUND(Od.UnitPrice, 2), Quantity, Discount=CONVERT(int, Discount * 100), ExtendedPrice=ROUND(CONVERT(money, Quantity * (1 - Discount) * Od.UnitPrice), 2) FROM Products P, [Order Details] Od WHERE Od.ProductID = P.ProductID and Od.OrderID = @OrderID q  Code C#: private void btnFind_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection("Server=TIENPT\ \SQL;Database=NorthWind;Uid=sa;Pwd=admin123"); if (conn.State != ConnectionState.Open) { conn.Open(); } 7/5/16 Lập trình CSDL với C# 16 7/5/16 Demo: Đối tượng Command SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "CustOrdersDetail"; SqlParameter orderID = new SqlParameter("@OrderID", SqlDbType.Int); orderID.Value = 10250; cmd.Parameters.Add(orderID); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { MessageBox.Show(dr[0].ToString()); } dr.Close(); } 7/5/16 Lập trình CSDL với C# 17 Đối tượng DataReader q  Đọc liệu SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = "SELECT [CustomerID],[CompanyName], [ContactName],[ContactTitle],[Address] FROM [Customers]"; SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { MessageBox.Show(dr.GetString(0) + " - " + dr.GetString(1) +" "+ dr.GetString(2)); } dr.Close(); q  Lấy thông tin q  Trả nhiều tập hợp kết 7/5/16 Lập trình CSDL với C# 18 7/5/16 Đối tượng DataAdapter 7/5/16 Lập trình CSDL với C# 19 Đối tượng DataAdapter q  Được sử dụng để trao đổi liệu data source đối tượng DataSet q  Có thể lấy liệu insert vào đối tượng DataTable DataSet cập nhật thay đổi DataSet trở lại data source q  Có cách tạo đối tượng DataAdapter q Sử dụng đối tượng Connection tồn q Mở kết nối Connection cần thiết q  Dùng phương thức Fill để đặt dự liệu vào DataSet DataTable, dùng phương thức Update để đồng liệu thay đổi tới data source 7/5/16 Lập trình CSDL với C# 20 10 7/5/16 Tổng quan liệu không kết nối 7/5/16 Lập trình CSDL với C# 25 Tổng quan liệu không kết nối q  Mỗi công nghệ truy cập liệu cải thiện khái niêm không kết nối, đến ADO.Net cung cấp giải pháp cách đầy đủ q  ADO.Net thiết kế dùng cho Internet q  ADO.Net sử dụng XML truyền tải định dạng liệu q  ADO.Net cung cấp đối tượng cho việc caching liệu máy client Đối tượng DataSet 7/5/16 Lập trình CSDL với C# 26 13 7/5/16 Đối tượng DataSet 7/5/16 Lập trình CSDL với C# 27 Cư trú liệu DataSet q  Cư trú liệu DataSet từ RDBMS SqlDataAdapter adp = new SqlDataAdapter("Select * from Products", con); DataSet ds = new DataSet(); adp.Fill(ds, "Products"); q  Lập trình tạo Dataset DataSet dsPubs = new DataSet(); DataTable dtAuthor = new DataTable("Author"); dtAuthor.Columns.Add("AuthorID", Type.GetType("System.Int32")); dsPubs.Tables.Add(dtAuthor); dgvProducts.DataSource = dsPubs.Tables[0];//DataGridView dgvProducts.Refresh(); 7/5/16 Lập trình CSDL với C# 28 14 7/5/16 Sử dụng Relationship DataSet q  Tạo Relationship DataRelation relPubsTitle = new DataRelation("PubsTitles",dsPubs.Tables["Publishers"].Columns[ "pub_id"],dsPubs.Tables["Titles"].Columns["pub_id"]); dsPubs.Relations.Add(relPubsTitle); q  Truy cập liệu quan hệ //Lay ban ghi dau tien bang Publishers DataRow pubRow = dsPubs.Tables["Publishers"].Rows[0]; //Lay cac ban ghi cua quan he bang Publishers va Titles DataRow[] titleRows = pubRow.GetChildRows("PubsTitles"); 7/5/16 Lập trình CSDL với C# 29 Sử dụng Constraint q  Bạn tạo ràng buộc riêng cho DataSet copy ràng buộc tồn từ data source q  Tạo ràng buộc: áp dụng kiểu ràng buộc q ForeignKeyConstraints: ràng buộc xảy hàng cập nhật hàng cha update delete Sau bảng giá trị cho tính DeleteRule UpdateRule Cascade delete update ghi theo ghi cha SetNull Thiết lập giá trị liên quan thành DBNull SetDefault Thiết lập giá trị liên quan theo giá trị mặc định None Không tác động tới hàng liên quan DataColumn colParent = dsPubs.Tables["Publishers"].Columns["pub_id"]; DataColumn colChild = dsPubs.Tables["Titles"].Columns["pub_id"]; ForeignKeyConstraint fkcPubsTitles = new ForeignKeyConstraint("PubsTitlesFKC",colParent,colChild); fkcPubsTitles.DeleteRule = Rule.SetNull; fkcPubsTitles.UpdateRule = Rule.Cascade; dsPubs.Tables["Titles"].Constraints.Add(fkcPubsTitles); dsPubs.EnforceConstraints = true; 7/5/16 Lập trình CSDL với C# 30 15 7/5/16 Sử dụng Constraint q UniqueConstraints: ràng buộc đảm bảo giá trị cột nhiều cột UniqueConstraint ucTitles = new UniqueConstraint("UniqueTitles", dsPubs.Tables["Titles"].Columns["title"]); dsPubs.EnforceConstraints = true; q  Sử dụng Constraint tồn q Nếu tồn ràng buộc RDBMS, copy trực tiếp tới DataSet q Sử dụng phương thức FillSchema để copy SqlConnection = new SqlConnection("Server=TIENPT\\SQL;Database=Northwind;Uid = sa; Pwd = admin123"); SqlDataAdapter adp = new SqlDataAdapter("Select title_id,title,type,price from Titles",con); adp.FillSchema(dsPubs, SchemaType.Source, "Titles"); adp.Fill(dsPubs,"Titles"); //Thực cập nhật liệu dsPubs cập nhật lại nguồn adp.Fill(dsPubs,"Titles"); 7/5/16 Lập trình CSDL với C# 31 Cập nhật liệu DataSet q  Thêm Row DataRow drNewRow = dsPubs.Tables["Titles"].NewRow(); drNewRow["title"] = "New Book"; drNewRow["type"] = "business"; dsPubs.Tables["Titles"].Rows.Add(drNewRow); q  Thay đổi Rows DataRow drChangeRow = dsPubs.Tables["Titles"].Rows[0]; drChangeRow.BeginEdit(); drChangeRow["title"] = drChangeRow["title"].ToString() + " 1"; drChangeRow.EndEdit(); q  Xóa liệu DataRow drDelRow = dsPubs.Tables["Titles"].Rows[0]; dsPubs.Tables["Titles"].Rows.Remove(drDelRow); Phương thức đánh dấu hàng xoá, gọi RejectChanges undo việc xoá 7/5/16 Lập trình CSDL với C# 32 16 7/5/16 Xác nhận thay đổi liệu q  Để cập nhật DataSet, dùng phương thức thích hợp để chỉnh sửa bảng, gọi AcceptChanges RejectChanges cho dòng cho toàn bảng q  Bạn kiểm tra trạng thái hàng qua thuộc tính RowState, trạng thái: Unchanged Không có thay đổi làm Added Hàng liệu bị thêm tới bảng Modified Một số thứ hàng bị thay đổi Deleted Hàng liệu bị xoá phương thức Delete Detached Hàng liệu bị xoá hàng liệu tạo phương thức Add không gọi 7/5/16 Lập trình CSDL với C# 33 Cập nhật liệu nguồn q  Sau update bảng DataSet, muốn cập nhật lên data source bạn dùng phương thức Update đối tượng DataAdapter, liên kết DataSet data source q  Nó xác định thay đổi liệu thực thi câu lệnh SQL tương ứng (Insert, Update Delete) 7/5/16 Lập trình CSDL với C# 34 17 7/5/16 Cập nhật liệu nguồn q  Chỉ rõ tham số cập nhật SqlCommand cmd = new SqlCommand(); cmd.CommandText = "Insert into titles(title_id, title, type) values(@t_id,@title,@type)"; cmd.Parameters.Add("@t_id",SqlDbType.VarChar,6,"title_id"); cmd.Parameters.Add("@title",SqlDbType.VarChar,80,"title"); cmd.Parameters.Add("@type",SqlDbType.Char,12,"type"); adp.InsertCommand = cmd; adp.Update(dsPubs, "titles"); q  Tự động phát sinh update SqlCommandBuilder sqlCommBuild = new SqlCommandBuilder(adp); adp.Update(dsPubs,"titles"); MessageBox.Show(sqlCommBuild.GetInsertCommand().ToString()); 7/5/16 Lập trình CSDL với C# 35 Demo: Sử dụng DataSet 7/5/16 Lập trình CSDL với C# 36 18 7/5/16 Sử dụng chức Wizard •  Thiết lập nhanh 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 7/5/16 Lập trình CSDL với C# 37 Sử dụng chức Wizard q  Tạo ứng dụng Windows Application q  Trong menu Data | Add New Data Source… 7/5/16 Lập trình CSDL với C# 38 19 7/5/16 Sử dụng chức Wizard q  Tạo New Connection 7/5/16 39 Lập trình CSDL với C# Sử dụng chức Wizard q  Hoàn tất khai báo Data Source Chuỗi kết nối 7/5/16 Lập trình CSDL với C# 40 20 7/5/16 Sử dụng chức Wizard q  Lưu chuỗi kết nối file cấu hình Tên chuỗi kết nối 7/5/16 Lập trình CSDL với C# 41 Sử dụng chức Wizard q  Chọn bảng liệu Bảng Sinhvien field Tên DataSet 7/5/16 Lập trình CSDL với C# 42 21 7/5/16 Sử dụng chức Wizard q  Wizard tạo ứng dụng với Data Source Form in Design View Data Sources Windows 7/5/16 Lập trình CSDL với C# 43 Sử dụng chức Wizard q  Kéo thả binding control vào Form q Trong cửa sổ Data Source q Chọn bảng cần sử dụng q Thiết lập view DataGridView hay Details q Kích chọn vào dấu mũi tên xuống sau tên bảng 7/5/16 Lập trình CSDL với C# 44 22 7/5/16 Sử dụng chức Wizard q  Kéo Table thả vào Form q Tự động tạo binding control cho table Detail 7/5/16 Lập trình CSDL với C# 45 Sử dụng chức Wizard q  Bổ sung DataGridView cho Form q Thay đổi Table sang DataGrid q Kéo Table Data Source thả vào Form DataGridView 7/5/16 Lập trình CSDL với C# 46 23 7/5/16 Sử dụng chức Wizard q  Kết ứng dụng Chưa viết code! 7/5/16 Lập trình CSDL với C# 47 Demo: Sử dụng chức Wizard 7/5/16 Lập trình CSDL với C# 48 24 7/5/16 Thiết kế gắn kết liệu q  Thiết kế DataSet q  Tùy chỉnh form liệu q  Gắn liệu WinForms q  Gắn liệu WebForms 7/5/16 Lập trình CSDL với C# 49 Tùy chỉnh cấu hình DataAdapter q  Tên kết nối q  Kiểu truy vấn q Câu lệnh SQL q Hoặc Stored Procedure q Hoặc Stored Procedure tồn q  Các chi tiết lựa chọn câu truy vấn 7/5/16 Lập trình CSDL với C# 50 25 7/5/16 Gắn liệu WinForms q  Cách gắn đơn giản SqlConnection = new SqlConnection("Server=TIENPT\\SQL;Database=Northwind;Uid = sa; Pwd = admin123"); SqlDataAdapter adp = new SqlDataAdapter("Select * from Products", con); DataSet ds = new DataSet(); adp.Fill(ds,"Products"); txtProduct.DataBindings.Add("Text", ds.Tables[0], "ProductName"); q  Cách gắn phức tạp SqlConnection = new SqlConnection("Server=TIENPT\\SQL;Database=Northwind;Uid = sa; Pwd = admin123"); SqlDataAdapter adp = new SqlDataAdapter("Select * from Products", con); DataSet ds = new DataSet(); adp.Fill(ds,"Products"); dgvProducts.DataSource = ds.Tables[0];//DataGridView dgvProducts.Refresh(); 7/5/16 Lập trình CSDL với C# 51 Gắn liệu WebForms q  Gắn liệu đọc protected void Page_Load(object sender, EventArgs e) { SqlConnection conn = new SqlConnection("Server=TIENPT\ \SQL;Database=NorthWind;Uid=sa;Pwd=admin123"); conn.Open(); SqlCommand cmd = new SqlCommand("Select * from Products", conn); SqlDataReader dr = cmd.ExecuteReader(); grvProducts.DataSource = dr; grvProducts.DataBind(); } 7/5/16 Lập trình CSDL với C# 52 26 7/5/16 Tài liệu tham khảo q  Windows Forms Programming With C# - WIN0095 – Aptech Worldwide q  https://msdn.microsoft.com/en-us/library/e80y5yhx(v=vs 110).aspx q  http://www.worldbestlearningcenter.com/ 7/5/16 Lập trình CSDL với C# 53 27 [...]... Tùy chỉnh form dữ liệu q  Gắn dữ liệu trong WinForms q  Gắn dữ liệu trong WebForms 7/5/16 Lập trình CSDL với C# 49 Tùy chỉnh c u hình DataAdapter q  Tên kết nối q  Kiểu truy vấn q C u lệnh SQL q Ho c Stored Procedure mới q Ho c Stored Procedure đã tồn tại q  C c chi tiết lựa chọn c u truy vấn 7/5/16 Lập trình CSDL với C# 50 25 7/5/16 Gắn dữ liệu trong WinForms q  C ch gắn đơn giản SqlConnection con... 7/5/16 Lập trình CSDL với C# 40 20 7/5/16 Sử dụng ch c năng Wizard q  Lưu chuỗi kết nối trong file c u hình Tên c a chuỗi kết nối 7/5/16 Lập trình CSDL với C# 41 Sử dụng ch c năng Wizard q  Chọn bảng dữ liệu Bảng Sinhvien và c c field Tên c a DataSet 7/5/16 Lập trình CSDL với C# 42 21 7/5/16 Sử dụng ch c năng Wizard q  Wizard sẽ tạo ứng dụng với Data Source Form in Design View Data Sources Windows 7/5/16... trình CSDL với C# 24 12 7/5/16 Tổng quan về dữ liệu không kết nối 7/5/16 Lập trình CSDL với C# 25 Tổng quan về dữ liệu không kết nối q  Mỗi c ng nghệ truy c p dữ liệu đều đã đư c cải thiện khái niêm không kết nối, nhưng đến ADO.Net mới cung c p giải pháp c ch đầy đủ q  ADO.Net đư c thiết kế dùng cho Internet q  ADO.Net sử dụng XML truyền tải định dạng dữ liệu q  ADO.Net cung c p một đối tượng mới cho... hàng dữ liệu đã đư c tạo nhưng phương th c Add không đư c gọi 7/5/16 Lập trình CSDL với C# 33 C p nhật dữ liệu tại nguồn q  Sau khi update c c bảng trong DataSet, chúng ta muốn c p nhật lên data source thì bạn dùng phương th c Update c a đối tượng DataAdapter, nó liên kết giữa DataSet và data source q  Nó x c định c c thay đổi c a dữ liệu và th c thi c u lệnh SQL tương ứng (Insert, Update ho c Delete)... để chỉnh sửa bảng, rồi gọi AcceptChanges ho c RejectChanges cho mỗi dòng ho c cho toàn bộ bảng q  Bạn c thể kiểm tra trạng thái c a hàng qua thu c tính RowState, c c trạng thái: Unchanged Không c bất c thay đổi nào đư c làm Added Hàng dữ liệu đã bị thêm tới bảng Modified Một số thứ trong hàng đã bị thay đổi Deleted Hàng dữ liệu đã bị xoá bởi phương th c Delete Detached Hàng dữ liệu đã bị xoá ho c. .. đối tượng Connection tồn tại q  Tạo đối tượng Command c ng với Connection, và khởi gán thu c tính SelectComand c a đối tượng DataAdapter private void frmProducts_Load(object sender, EventArgs e) { SqlConnection con = new SqlConnection(); con.ConnectionString = "Server=TIENPT\\SQL; Database=Northwind;Uid = sa; Pwd = admin123"; con.Open(); SqlCommand cmd = new SqlCommand("Select * from Products",con); SqlDataAdapter... 4 Demo: Lấy dữ liệu dùng ADO Net q  Bạn sẽ h c cách lấy dữ liệu từ CSDL SQL Server bằng vi c dùng đối tượng SQLDataAdapter trong NET 7/5/16 Lập trình CSDL với C# 23 5 Đối tượng DataSet q  Tổng quan về dữ liệu không kết nối q  Đối tượng DataSet q  C trú dữ liệu trong DataSet q  Sử dụng Relationship trong DataSet q  Sử dụng c c Constraint q  C p nhật dữ liệu trong DataSet q  C p nhật dữ liệu tại nguồn... thị và thao t c dữ liệu •  Thông qua thao t c kéo thả từ Data Source 7/5/16 Lập trình CSDL với C# 37 Sử dụng ch c năng Wizard q  Tạo một ứng dụng Windows Application q  Trong menu Data | Add New Data Source… 7/5/16 Lập trình CSDL với C# 38 19 7/5/16 Sử dụng ch c năng Wizard q  Tạo New Connection 7/5/16 39 Lập trình CSDL với C# Sử dụng ch c năng Wizard q  Hoàn tất khai báo Data Source Chuỗi kết nối 7/5/16... Truy c p dữ liệu quan hệ //Lay ban ghi dau tien trong bang Publishers DataRow pubRow = dsPubs.Tables["Publishers"].Rows[0]; //Lay cac ban ghi con cua quan he bang Publishers va Titles DataRow[] titleRows = pubRow.GetChildRows("PubsTitles"); 7/5/16 Lập trình CSDL với C# 29 Sử dụng c c Constraint q  Bạn c thể tạo c c ràng bu c riêng cho DataSet ho c copy c c ràng bu c tồn tại từ data source q  Tạo mới c c. .. trình CSDL với C# 43 Sử dụng ch c năng Wizard q  Kéo thả binding control vào Form q Trong c a sổ Data Source q Chọn bảng c n sử dụng q Thiết lập view là DataGridView hay Details q Kích chọn vào dấu mũi tên xuống sau tên bảng 7/5/16 Lập trình CSDL với C# 44 22 7/5/16 Sử dụng ch c năng Wizard q  Kéo Table thả vào Form q Tự động tạo c c binding control cho table Detail 7/5/16 Lập trình CSDL với C# 45

Ngày đăng: 31/08/2016, 19:50

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan