Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 58 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
58
Dung lượng
12 MB
Nội dung
Bài 4: LẬPTRÌNHVỚICSDLADO.NET & KIẾNTRÚCKHÔNGKẾTNỐI & LẬPTRÌNHGIAODIỆN Các nhóm điều khiển trên form Các điều khiển thường dùng Các điều khiển chứa Các điều khiển menu Các điều khiển dữ liệu Các thành phần Các điều khiển hỗ trợ in Các điều khiển hộp thoại Sự kiệnvà xử lý sự kiện trong C# Hệ thống bài cũ Các nhóm điều khiển trên form Các điều khiển thường dùng Các điều khiển chứa Các điều khiển menu Các điều khiển dữ liệu Các thành phần Các điều khiển hỗ trợ in Các điều khiển hộp thoại Sự kiệnvà xử lý sự kiện trong C# Lậptrìnhgiaodiện - ứng dụng gồm nhiều form 2 Mục tiêu bài học Giới thiệu về ADO.NET Các thành phần của ADO.NET DataProvider DataSet Các loại DataProvider Sql Data Provider SqlConnection SqlDataAdapter Ứng dụng nhiều form Ứng dụng SDI Ứng dụng MDI Thêm Toolbar, Tooltip vào form Giới thiệu về ADO.NET Các thành phần của ADO.NET DataProvider DataSet Các loại DataProvider Sql Data Provider SqlConnection SqlDataAdapter Ứng dụng nhiều form Ứng dụng SDI Ứng dụng MDI Thêm Toolbar, Tooltip vào form Lậptrìnhgiaodiện - ứng dụng gồm nhiều form 3 ADO.NET (ActiveX Data Objects .NET) là một thành phần trong .NET Framework đảm nhiệm vai trò thao tác vớiCSDLADO.NETADO.NET (ActiveX Data Objects .NET) là một thành phần trong .NET Framework đảm nhiệm vai trò thao tác vớiCSDLLậptrìnhvớiCSDL - ADO.Net & Kiếntrúckhôngkếtnối4ADO.NET là cầu nối giữa ứng dụng vàCSDLADO.NET hỗ trợ các lậptrình viên kếtnốivới hệ quản trị CSDL như SQL Server, Microsoft Access, Oracle… ADO.NETADO.NET là cầu nối giữa ứng dụng vàCSDLADO.NET hỗ trợ các lậptrình viên kếtnốivới hệ quản trị CSDL như SQL Server, Microsoft Access, Oracle… LậptrìnhvớiCSDL - ADO.Net & Kiếntrúckhôngkếtnối 5 Hỗ trợ lậptrình Cung cấp các lớp thao tác vớiCSDL giúp lậptrình viên lậptrình nhanh hơn và giảm bớt lỗi Cung cấp các công cụ để thao tác vớiCSDL ngay trên phần Designer giúp lậptrình viên tương tác vớiCSDL mà không cần hiểu sâu về CSDL Khả năng mở rộng Sử dụng kiếntrúckhôngkếtnối chỉ kếtnốivới dữ liệu lúc khi cần thiết nên giảm tải cho server CSDL Ứng dụng có thể đáp ứng nhiều người dùng hơn Khả năng tích hợp ADO.NET có thể gửi dữ liệu cho bất cứ ứng dụng nào hỗ trợ XML Tính năng của ADO.NET Hỗ trợ lậptrình Cung cấp các lớp thao tác vớiCSDL giúp lậptrình viên lậptrình nhanh hơn và giảm bớt lỗi Cung cấp các công cụ để thao tác vớiCSDL ngay trên phần Designer giúp lậptrình viên tương tác vớiCSDL mà không cần hiểu sâu về CSDL Khả năng mở rộng Sử dụng kiếntrúckhôngkếtnối chỉ kếtnốivới dữ liệu lúc khi cần thiết nên giảm tải cho server CSDL Ứng dụng có thể đáp ứng nhiều người dùng hơn Khả năng tích hợp ADO.NET có thể gửi dữ liệu cho bất cứ ứng dụng nào hỗ trợ XML LậptrìnhvớiCSDL - ADO.Net & Kiếntrúckhôngkếtnối 6 KiếntrúckhôngkếtnốiKếtnối được thiết lậpvà tạo một bản sao của CSDL ngay trên máy tính, sau đó kếtnối được đóng Thao tác với bản sao và update lại CSDL khi cần thiết Ưu điểm Tiết kiệm tài nguyên Bảo mật vì kếtnối được mở trong thời gian ngắn KiếntrúckhôngkếtnốiKiếntrúckhôngkếtnốiKếtnối được thiết lậpvà tạo một bản sao của CSDL ngay trên máy tính, sau đó kếtnối được đóng Thao tác với bản sao và update lại CSDL khi cần thiết Ưu điểm Tiết kiệm tài nguyên Bảo mật vì kếtnối được mở trong thời gian ngắn LậptrìnhvớiCSDL - ADO.Net & Kiếntrúckhôngkếtnối 7 ADO gồm hai phần .NET data provider: cung cấp các lớp để kết nối, thực thi lệnh SQL trên CSDLvà lấy kết quả trả về Dataset: lưu trữ bản sao của CSDL trên bộ nhớ. Cung cấp các phương thức cho phép ứng dụng thao tác với bản sao Các thành phần chính của ADO.NET ADO gồm hai phần .NET data provider: cung cấp các lớp để kết nối, thực thi lệnh SQL trên CSDLvà lấy kết quả trả về Dataset: lưu trữ bản sao của CSDL trên bộ nhớ. Cung cấp các phương thức cho phép ứng dụng thao tác với bản sao LậptrìnhvớiCSDL - ADO.Net & Kiếntrúckhôngkếtnối 8 Data provider cung cấp các lớp để tương tác vớiCSDL Data provider gồm 4 thành phần chính Connection: kếtnốivớiCSDL Command: thực thi các lệnh sql để lấy dữ liệu từ CSDL hoặc thay đổi CSDL DataReader: đọc dữ liệu tuần tự từ CSDL DataAdapter: lấy dữ liệu từ CSDL lưu vào dataset và cập nhật CSDL Data provider Data provider cung cấp các lớp để tương tác vớiCSDL Data provider gồm 4 thành phần chính Connection: kếtnốivớiCSDL Command: thực thi các lệnh sql để lấy dữ liệu từ CSDL hoặc thay đổi CSDL DataReader: đọc dữ liệu tuần tự từ CSDL DataAdapter: lấy dữ liệu từ CSDL lưu vào dataset và cập nhật CSDLLậptrìnhvớiCSDL - ADO.Net & Kiếntrúckhôngkếtnối 9 Ví dụ thực tiễn Vấn đề: Một ngân hàng đa quốc gia có rất nhiều chi nhánh. Giả sử một chi nhánh ở Việt Nam muốn truy cập thông tin. Giải pháp: Lấy thông tin cần thiết và lưu vào máy cục bộ dưới dạng dataset Dataset là bản sao của CSDL hay một phần CSDL trên bộ nhớ DataSet Hỗ trợ kiếntrúckhôngkếtnốiKếtnối đến CSDL chỉ được mở khi lấy dữ liệu về dataset và cập nhật dữ liệu trở lại CSDL Mọi thao tác sẽ được thực hiện trên DataSet DataSet không phụ thuộc vào loại CSDL Dataset Ví dụ thực tiễn Vấn đề: Một ngân hàng đa quốc gia có rất nhiều chi nhánh. Giả sử một chi nhánh ở Việt Nam muốn truy cập thông tin. Giải pháp: Lấy thông tin cần thiết và lưu vào máy cục bộ dưới dạng dataset Dataset là bản sao của CSDL hay một phần CSDL trên bộ nhớ DataSet Hỗ trợ kiếntrúckhôngkếtnốiKếtnối đến CSDL chỉ được mở khi lấy dữ liệu về dataset và cập nhật dữ liệu trở lại CSDL Mọi thao tác sẽ được thực hiện trên DataSet DataSet không phụ thuộc vào loại CSDLLậptrìnhvớiCSDL - ADO.Net & Kiếntrúckhôngkếtnối 10 [...]... liệu vào dataset UpdateCommand Lệnh sql hoặc sp để cập nhật dữ liệu cho dataset LậptrìnhvớiCSDL - ADO.Net & Kiếntrúckhôngkếtnối 17 SqlDataAdapter Phương thức Phương thức Mô tả Fill (dataset) Lấy dữ liệu đổ vào dataset Update(dataset) Cập nhật những dữ liệu thay đổi trên dataset lên CSDL LậptrìnhvớiCSDL - ADO.Net & Kiếntrúckhôngkếtnối 18 Demo thao tác với dữ liệu bằng kiếntrúckhôngkết nối. .. SqlDataAdapter LậptrìnhvớiCSDL - ADO.Net & Kiếntrúckhôngkếtnối 13 Các loại Data provider Các lớp của các loại data provider về cơ bản giống nhau vì cùng kế thừa từ một lớp Ví dụ OleDbDataAdpater và SqlDataAdapter cùng kế thừa từ lớp DbDataAdapter Với môn này sẽ học về SQL data provider để thao tác vớiCSDL Microsoft SQL Server 2008 LậptrìnhvớiCSDL - ADO.Net & Kiếntrúckhôngkếtnối 14 SqlConnection... tả Data source/Server Tên Server CSDL Initial catalog/DataBase Tên của CSDL UserID Tên của user đăng nhập vào CSDL LậptrìnhvớiCSDL - ADO.Net & Kiếntrúckhôngkếtnối 15 SqlDataAdapter DataAdapter hoạt động như cầu nối giữa dataset và CSDL LậptrìnhvớiCSDL - ADO.Net & Kiếntrúckhôngkếtnối 16 SqlDataAdapter Phương thức khởi tạo new SqlDataAdapter() new SqlDataAdapter(lệnh-truy-vấn, Connection)...DataSet Cấu trúc của DataSet giống hệt cấu trúc của cơ sở dữ liệu Mỗi dataset gồm nhiều bảng Các bảng có ràng buộc với nhau Mỗi bảng có nhiều dòng và cột Mỗi cột có nhiều dòng Mỗi dòng có nhiều cột LậptrìnhvớiCSDL - ADO.Net & Kiếntrúckhôngkếtnối 11 Kiếntrúckhôngkếtnối DataAdapter kếtnốivớiCSDL thông qua Connection, lấy dữ liệu lưu vào DataSet Ứng dụng sẽ lấy và thay đổi dữ liệu... dr[3].ToString(); } LậptrìnhvớiCSDL - ADO.Net & Kiếntrúckhôngkếtnối 22 ỨNG DỤNG GỒM NHIỀU FORM Lậptrìnhgiaodiện - ứng dụng gồm nhiều form 23 Chạy thử ứng dụng Payment Ứng dụng Payment gồm 2 form Form Payment được mở khi nhấn vào button Select Payment trên form Customer Thao tác trên form Payment mới được thao tác trên form Customer Lậptrìnhgiaodiện - ứng dụng gồm nhiều form 24 Thêm form vào Project... DataAdapter để fill Dataset Đọc dữ liệu vào form từ Dataset Thay đổi dữ liệu trên Dataset Update lại dữ liệu trên CSDL LậptrìnhvớiCSDL - ADO.Net & Kiếntrúckhôngkếtnối 19 Các bước thực hiện Lậptrình cơ sở dữ liệu 1 Khai báo các biến SqlConnection conn; // biến connection kếtnối đến CSDL SqlCommand com; // thực thi các lệnh sql để lấy dữ liệu từ hoặc là thay //đổi CSDL SqlDataAdapter da; // biến có... kếtnối DataAdapter kếtnốivớiCSDL thông qua Connection, lấy dữ liệu lưu vào DataSet Ứng dụng sẽ lấy và thay đổi dữ liệu trên DataSet DataAdapter kếtnốivớiCSDL thông qua Connection và cập nhật lại CSDL LậptrìnhvớiCSDL - ADO.Net & Kiếntrúckhôngkếtnối 12 Các loại Data provider Các data provider được đặt trong các namespace khác nhau Provider Namespace SQL Server System.Data.SqlClient OLE DB... SqlConnection Thực hiện kếtnốivớiCSDL Phương thức khởi tạo new SqlConnection() new SqlConnection(chuỗi -kết- nối) Thuộc tínhvà phương thức Thuộc tính/Phương thức Mô tả ConnectionString Cung cấp thông tin để truy cập đến CSDL SQL Server Open() Mở kếtnối Close() Đóng kếtnối Các giá trị trên chuỗi kếtnối Giá trị Mô tả Data source/Server Tên Server CSDL Initial catalog/DataBase Tên của CSDL UserID Tên của... form có sẵn vào Project Thêm một form mới Thêm một form có sẵn Lậptrìnhgiaodiện - ứng dụng gồm nhiều form 25 Demo thêm form Payment vào Project Thêm form frmPayment và thiết kế như sau Lậptrìnhgiaodiện - ứng dụng gồm nhiều form 26 Hiển thị form đầu tiên của Project Khi ứng dụng nhiều form chạy, theo mặc định ứng dụng sẽ tải form được tạo đầu tiên trước Đối với ứng dụng nhiều form, với form này... i LậptrìnhvớiCSDL - ADO.Net & Kiếntrúckhôngkếtnối 20 Demo load dữ liệu vào ListView private void frmBookDetails_Load(object sender, EventArgs e) { com = new SqlCommand("Select * from Products",conn); da.SelectCommand = com; da.Fill(ds, "Products"); for (rows = 0; rows < ds.Tables[0].Rows.Count; rows++) { lvwBookDetails.Items.Add(ds.Tables[0].Rows[rows].ItemArray[0].ToString()); //thêm vào cột . Objects .NET) là một thành phần trong .NET Framework đảm nhiệm vai trò thao tác với CSDL Lập trình với CSDL - ADO. Net & Kiến trúc không kết nối 4 ADO. NET là cầu nối giữa ứng dụng và CSDL ADO. NET. năng tích hợp ADO. NET có thể gửi dữ liệu cho bất cứ ứng dụng nào hỗ trợ XML Lập trình với CSDL - ADO. Net & Kiến trúc không kết nối 6 Kiến trúc không kết nối Kết nối được thiết lập và tạo một. trị CSDL như SQL Server, Microsoft Access, Oracle… Lập trình với CSDL - ADO. Net & Kiến trúc không kết nối 5 Hỗ trợ lập trình Cung cấp các lớp thao tác với CSDL giúp lập trình viên lập trình