Tìm hiểu C# và ứng dụng của C# p 23
Số trang: 6
Loại file: pdf
Dung lượng: 363.74 KB
Lượt xem: 14
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Chương 14 Truy cập dữ liệu với ADO.NET ( Tiếp theo)//Đẩy dữ liệu trog sda vào ds bằng hàm Fill(); sda.Fill(ds);14.5 Trình cung cấp dữ liệu (.NET Data Providers).NET Framework hỗ trợ hai trình cung cấp dữ liệu là SQL Server .NET Data Provider ( dành cho phiên bản SQL Server 7.0 của Microsoft trở lên ) và OLE DB .NET Data Provider ( dành cho các hệ quản trị cơ sở dữ liệu khác ) để truy cập vào cơ sở dữ liệu.Hình 14-3 So sánh SQL Server .NET Data Provider và the OLE DB .NET Data ProviderSQL Server...
Nội dung trích xuất từ tài liệu:
Tìm hiểu C# và ứng dụng của C# p 23Truy cập dữ liệu với ADO.NET Gvhd: Nguyễn Tấn Trần Minh Khang //Đẩy dữ liệu trog sda vào ds bằng hàm Fill(); sda.Fill(ds);14.5 Trình cung cấp dữ liệu (.NET Data Providers).NET Framework hỗ trợ hai trình cung cấp dữ liệu là SQL Server .NET DataProvider ( dành cho phiên bản SQL Server 7.0 của Microsoft trở lên ) và OLE DB.NET Data Provider ( dành cho các hệ quản trị cơ sở dữ liệu khác ) để truy cập vàocơ sở dữ liệu.Hình 14-3 So sánh SQL Server .NET Data Provider và the OLE DB .NET DataProviderSQL Server .NET Data Provider có các đặc điểm : • Dùng nghi thức riêng để truy cập cơ sở dữ liệu • Truy xuất dữ liệu sẽ nhanh hơn và hiệu quả hơn do không phải thông qua lớp OLE DB Provider hay ODBC • Chỉ được dùng với hệ quản trị cơ sở dữ liệu SQL Server 7.0 trở lên. • Được Mircrosoft hỗ trợ khá hoàn chỉnh.OLE DB .NET Data Provider có các đặc điểm : • Phải thông qua 2 lớp vì thế sẽ chậm hơn • Thực hiện được các dịch vụ “Connection Pool” • Có thể truy cập vào mọi Datasource có hỗ trợ OLE DB Provider thích hợp14.6 Khởi sự với ADO.NETĐể có thể hiểu rõ được ADO.NET, ngoài lý thuyết ra, chúng ta sẽ khảo sát chi tiếtvề cách chúng hoạt động ra bằng mã lệnh cụ thể.Ví dụ Windows Form dưới đây sẽ dùng một ListBox để lấy dữ liệu từ bảngCustommers trong cơ sở dữ liệu NorthWind.Đầu tiên ta sẽ tạo ra đối tượng DataAdapter : SqlDataAdapter DataAdapter = new SqlDataAdapter( commandString, connectionString); 148Truy cập dữ liệu với ADO.NET Gvhd: Nguyễn Tấn Trần Minh KhangHàm khởi tạo của đối tượng này gồm hai tham số commandString vàconnectionString. commandString là chuỗi chứa câu lệnh truy vấn trên dữ liệu mà tamuốn nhận về : string commandString = Select CompanyName, ContactName from Customers;Biến connectString chứa các thông số để kết nối đến cơ sở dữ liệu. Ứng dụng của tadùng hệ quản trị cơ sở dữ liệu SQL Server, vì thế để đơn giản ta sẽ để đối sốpassword là trống, uid là sa, máy chủ server là localhost và tên cơ sở dữ liệu làNorthWind : string connectionString = server=localhost; uid=sa; pwd=; database=northwind;Với đối tượng DataAdapter được tạo ở trên, ta sẽ tạo ra một đối tượng DataSet mớivà đẩy dữ liệu vào nó bằng phương thức Fill() của đối tương DataAdapter. DataSet dataSet = new DataSet( ); DataAdapter.FillDataSet(dataSet,Customers);Đối tượng DataSet chứa một tập các DataTable, nhưng ở đây ta chỉ cần lấy dữ liệucủa bảng đầu tiên là “Customers” : DataTable dataTable = dataSet.Tables[0];Ta sẽ duyệt qua từng dòng của bảng bằng vòng lặp foreach để lấy về từng DataRowmột, sau đó sẽ truy cập đến trường cần lấy dữ liệu thông qua tên cột, rồi thêm vàoListBox. foreach (DataRow dataRow in dataTable.Rows) { lbCustomers.Items.Add( dataRow[CompanyName] + ( + dataRow[ContactName] + ) ); }Sau đây là đoạn mã đầy đủ của ứng dụng : using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Data.SqlClient; namespace ProgrammingCSharpWinForm { public class ADOForm1 : System.Windows.Forms.Form { private System.ComponentModel.Container components; private System.Windows.Forms.ListBox lbCustomers; public ADOForm1( ) { InitializeComponent( ); // kết nối đến máy chủ, cơ sở dữ liệu northwind string connectionString = server=localhost; uid=sa; pwd=; database=northwind; 149Truy cập dữ liệu với ADO.NET Gvhd: Nguyễn Tấn Trần Minh Khang // lấy các dòng dữ liệu từ bảng Customers string commandString = Select CompanyName, ContactName from Customers; // tạo ra đối tượng DataAdapter và DataSet SqlDataAdapter DataAdapter = new SqlDataAdapter(commandString, connectionString); DataSet DataSet = new DataSet( ); // đẩy dữ liệu vào DataSet DataAdapter.Fill(DataSet,Customers); // lấy về một bảng dữ liệu DataTable dataTable = DataSet.Tables[0]; // duyệt từng dòng để lấy dữ liệu thêm vào ListBox foreach (DataRow dataRow in dataTable.Rows) { lbCustomers.Items.Add(dataRow[CompanyName] + ( + dataRow[ContactName] + ) ); } } public override void Dispose( ) { base.Dispose( ); components.Dispose( ); } private void InitializeComponent( ) { this.components = new System.ComponentModel.Container(); this.lbCustomers = new System.Windows.Forms.ListBox(); lbCustomers.Locat ...
Nội dung trích xuất từ tài liệu:
Tìm hiểu C# và ứng dụng của C# p 23Truy cập dữ liệu với ADO.NET Gvhd: Nguyễn Tấn Trần Minh Khang //Đẩy dữ liệu trog sda vào ds bằng hàm Fill(); sda.Fill(ds);14.5 Trình cung cấp dữ liệu (.NET Data Providers).NET Framework hỗ trợ hai trình cung cấp dữ liệu là SQL Server .NET DataProvider ( dành cho phiên bản SQL Server 7.0 của Microsoft trở lên ) và OLE DB.NET Data Provider ( dành cho các hệ quản trị cơ sở dữ liệu khác ) để truy cập vàocơ sở dữ liệu.Hình 14-3 So sánh SQL Server .NET Data Provider và the OLE DB .NET DataProviderSQL Server .NET Data Provider có các đặc điểm : • Dùng nghi thức riêng để truy cập cơ sở dữ liệu • Truy xuất dữ liệu sẽ nhanh hơn và hiệu quả hơn do không phải thông qua lớp OLE DB Provider hay ODBC • Chỉ được dùng với hệ quản trị cơ sở dữ liệu SQL Server 7.0 trở lên. • Được Mircrosoft hỗ trợ khá hoàn chỉnh.OLE DB .NET Data Provider có các đặc điểm : • Phải thông qua 2 lớp vì thế sẽ chậm hơn • Thực hiện được các dịch vụ “Connection Pool” • Có thể truy cập vào mọi Datasource có hỗ trợ OLE DB Provider thích hợp14.6 Khởi sự với ADO.NETĐể có thể hiểu rõ được ADO.NET, ngoài lý thuyết ra, chúng ta sẽ khảo sát chi tiếtvề cách chúng hoạt động ra bằng mã lệnh cụ thể.Ví dụ Windows Form dưới đây sẽ dùng một ListBox để lấy dữ liệu từ bảngCustommers trong cơ sở dữ liệu NorthWind.Đầu tiên ta sẽ tạo ra đối tượng DataAdapter : SqlDataAdapter DataAdapter = new SqlDataAdapter( commandString, connectionString); 148Truy cập dữ liệu với ADO.NET Gvhd: Nguyễn Tấn Trần Minh KhangHàm khởi tạo của đối tượng này gồm hai tham số commandString vàconnectionString. commandString là chuỗi chứa câu lệnh truy vấn trên dữ liệu mà tamuốn nhận về : string commandString = Select CompanyName, ContactName from Customers;Biến connectString chứa các thông số để kết nối đến cơ sở dữ liệu. Ứng dụng của tadùng hệ quản trị cơ sở dữ liệu SQL Server, vì thế để đơn giản ta sẽ để đối sốpassword là trống, uid là sa, máy chủ server là localhost và tên cơ sở dữ liệu làNorthWind : string connectionString = server=localhost; uid=sa; pwd=; database=northwind;Với đối tượng DataAdapter được tạo ở trên, ta sẽ tạo ra một đối tượng DataSet mớivà đẩy dữ liệu vào nó bằng phương thức Fill() của đối tương DataAdapter. DataSet dataSet = new DataSet( ); DataAdapter.FillDataSet(dataSet,Customers);Đối tượng DataSet chứa một tập các DataTable, nhưng ở đây ta chỉ cần lấy dữ liệucủa bảng đầu tiên là “Customers” : DataTable dataTable = dataSet.Tables[0];Ta sẽ duyệt qua từng dòng của bảng bằng vòng lặp foreach để lấy về từng DataRowmột, sau đó sẽ truy cập đến trường cần lấy dữ liệu thông qua tên cột, rồi thêm vàoListBox. foreach (DataRow dataRow in dataTable.Rows) { lbCustomers.Items.Add( dataRow[CompanyName] + ( + dataRow[ContactName] + ) ); }Sau đây là đoạn mã đầy đủ của ứng dụng : using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Data.SqlClient; namespace ProgrammingCSharpWinForm { public class ADOForm1 : System.Windows.Forms.Form { private System.ComponentModel.Container components; private System.Windows.Forms.ListBox lbCustomers; public ADOForm1( ) { InitializeComponent( ); // kết nối đến máy chủ, cơ sở dữ liệu northwind string connectionString = server=localhost; uid=sa; pwd=; database=northwind; 149Truy cập dữ liệu với ADO.NET Gvhd: Nguyễn Tấn Trần Minh Khang // lấy các dòng dữ liệu từ bảng Customers string commandString = Select CompanyName, ContactName from Customers; // tạo ra đối tượng DataAdapter và DataSet SqlDataAdapter DataAdapter = new SqlDataAdapter(commandString, connectionString); DataSet DataSet = new DataSet( ); // đẩy dữ liệu vào DataSet DataAdapter.Fill(DataSet,Customers); // lấy về một bảng dữ liệu DataTable dataTable = DataSet.Tables[0]; // duyệt từng dòng để lấy dữ liệu thêm vào ListBox foreach (DataRow dataRow in dataTable.Rows) { lbCustomers.Items.Add(dataRow[CompanyName] + ( + dataRow[ContactName] + ) ); } } public override void Dispose( ) { base.Dispose( ); components.Dispose( ); } private void InitializeComponent( ) { this.components = new System.ComponentModel.Container(); this.lbCustomers = new System.Windows.Forms.ListBox(); lbCustomers.Locat ...
Tìm kiếm theo từ khóa liên quan:
Tìm hiểu ngôn ngữ C# C# và .Net Framework lập trình c# ngôn ngữ C# tài liệu c#Gợi ý tài liệu liên quan:
-
161 trang 129 1 0
-
Giáo trình Kỹ thuật lập trình nâng cao (Ngành: Tin học ứng dụng) - CĐ Kinh tế Kỹ thuật TP.HCM
119 trang 66 0 0 -
33 trang 65 0 0
-
thủ thuật windows XP hay nhất phần 2
14 trang 41 0 0 -
1 trang 41 0 0
-
Bài giảng Lập trình Windows Form với C#: Chương 1 - Lê Thị Ngọc Hạnh
56 trang 33 0 0 -
Tự học C# bằng hình ảnh cho người mới bắt đầu: Phần 1
88 trang 30 0 0 -
hướng dẫn sử dụng Rhino Ceros phần 6
12 trang 26 0 0 -
1 trang 25 0 0
-
accounting reference desktop 2002 phần 6
64 trang 25 0 0