Tìm hiểu C# và ứng dụng của C# p 24
Số trang: 11
Loại file: pdf
Dung lượng: 425.77 KB
Lượt xem: 8
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)14.8 Làm việc với các điều khiển kết buộc dữ liệuADO.NET hỗ trợ khá hoàn chỉnh cho các điều khiển kết buộc dữ liệu (DataBound), các điều khiển này sẽ nhận vào một DataSet, sau khi gọi hàm DataBind() thì dữ liệu sẽ tự động được hiển thị lên điều khiển.14.8.1 Đẩy dữ liệu vào điều khiển lưới DataGridVí dụ sau sẽ dùng điều khiển lưới DataGrid để thực hiện kết buộc dữ liệu, điều khiển lưới này được hỗ trợ cho cả ứng dụng Windows Forms và WebForms.152Truy cập...
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 24Truy cập dữ liệu với ADO.NET Gvhd: Nguyễn Tấn Trần Minh Khang14.8 Làm việc với các điều khiển kết buộc dữ liệuADO.NET hỗ trợ khá hoàn chỉnh cho các điều khiển kết buộc dữ liệu (Data-Bound), các điều khiển này sẽ nhận vào một DataSet, sau khi gọi hàm DataBind()thì dữ liệu sẽ tự động được hiển thị lên điều khiển.14.8.1 Đẩy dữ liệu vào điều khiển lưới DataGridVí dụ sau sẽ dùng điều khiển lưới DataGrid để thực hiện kết buộc dữ liệu, điềukhiển lưới này được hỗ trợ cho cả ứng dụng Windows Forms và WebForms. 152Truy cập dữ liệu với ADO.NET Gvhd: Nguyễn Tấn Trần Minh KhangTrong ứng dụng trước, ta phải duyệt qua từng dòng của đối tượng DataTable để lấydữ liệu, sau đó hiển thị chúng lên điều khiển ListBox. Trong ứng dụng này côngviệc hiển thị dữ liệu lên điều khiển được thực hiện đơn giản hơn, ta chỉ cần lấy vềđối tượng DataView của DataSet, sau đó gán DataView này cho thuộc tínhDataSource của điều khiển lưới, sau đó gọi hàm DataBind() thì tự động dữ liệu sẽđược đẩy lên điều khiển lưới dữ liệu. CustomerDataGrid.DataSource = DataSet.Tables[Customers].DefaultView;Trước tiên ta cần tạo ra đối tượng lưới trên Form bằng cách kéo thả, đặt tên lại chođiều khiển lưới là CustomerDataGrid. Sau đây là mã hoàn chỉnh của ứng dụng kếtbuộc dữ liệu cho điều khiển lưới : using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Data.SqlClient; namespace ProgrammingCSharpWindows.Form { public class ADOForm3 : System.Windows.Forms.Form { private System.ComponentModel.Container components; private System.Windows.Forms.DataGrid CustomerDataGrid; public ADOForm3( ) { InitializeComponent( ); // khởi tạo chuỗi kết nối và chuỗi truy vấn dữ liệu string connectionString = server=localComputer; uid=sa; pwd=;database=northwind; string commandString = Select CompanyName, ContactName, ContactTitle, + Phone, Fax from Customers; // tạo ra một SqlDataAdapter và DataSet mới, // đẩy dữ liệu cho DataSet SqlDataAdapter DataAdapter = new SqlDataAdapter(commandString, connectionString); DataSet DataSet = new DataSet( ); DataAdapter.Fill(DataSet,Customers); // kết buộc dữ liệu của DataSet cho lưới CustomerDataGrid.DataSource= DataSet.Tables[Customers].DefaultView; } public override void Dispose( ) { base.Dispose( ); components.Dispose( ); } 153Truy cập dữ liệu với ADO.NET Gvhd: Nguyễn Tấn Trần Minh Khang private void InitializeComponent( ) { this.components = new System.ComponentModel.Container(); this.CustomerDataGrid = new DataGrid(); CustomerDataGrid.BeginInit(); CustomerDataGrid.Location = new System.Drawing.Point (8, 24); CustomerDataGrid.Size = new System.Drawing.Size (656, 224); CustomerDataGrid.DataMember = ; CustomerDataGrid.TabIndex = 0; CustomerDataGrid.Navigate += new NavigateEventHandler(this.dataGrid1_Navigate); this.Text = ADOFrm3; this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size (672, 273); this.Controls.Add (this.CustomerDataGrid); CustomerDataGrid.EndInit ( ); } public static void Main(string[] args) { Application.Run(new ADOForm3()); } } }Điều khiển lưới sẽ hiển thị y hệt mọi dữ liệu hiện có trong bảng Customers, tên củacác cột trên lưới cũng chính là tên của các cột trong bản dữ liệu. Giao diện của ứngdụng sau khi chạy chương trình :Hình 14-5 Kết buộc dữ liệu cho điều khiển lưới DataGrid.14.8.2 Tạo đối tượng DataSetTrong ví dụ trước, tạo ra đối tượng SqlDataAdapter bằng cách gắn trực tiếp chuỗikết nối và chuỗi truy vấn vào nó. Đối tượng Connection và Command sẽ được tạovà tích hợp vào trong đối tượng DataAdapter này. Với cách này, ta sẽ bị hạn chếtrong các thao tác liên quan đến cơ sở dữ liệu. 154Truy cập dữ liệu với ADO.NET Gvhd: Nguyễn Tấn Trần Minh Khang SqlDataAdapter DataAdapter = new SqlDataAdapter(commandString, connectionString);Ví dụ sau đây sẽ minh họa việc lấy về đối tượng DataSet bằng cách tạo ra các đốitượng Connection và Command một cách riêng biệt, khi ta cần dùng lại chúng haymuốn thực hiện ...
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 24Truy cập dữ liệu với ADO.NET Gvhd: Nguyễn Tấn Trần Minh Khang14.8 Làm việc với các điều khiển kết buộc dữ liệuADO.NET hỗ trợ khá hoàn chỉnh cho các điều khiển kết buộc dữ liệu (Data-Bound), các điều khiển này sẽ nhận vào một DataSet, sau khi gọi hàm DataBind()thì dữ liệu sẽ tự động được hiển thị lên điều khiển.14.8.1 Đẩy dữ liệu vào điều khiển lưới DataGridVí dụ sau sẽ dùng điều khiển lưới DataGrid để thực hiện kết buộc dữ liệu, điềukhiển lưới này được hỗ trợ cho cả ứng dụng Windows Forms và WebForms. 152Truy cập dữ liệu với ADO.NET Gvhd: Nguyễn Tấn Trần Minh KhangTrong ứng dụng trước, ta phải duyệt qua từng dòng của đối tượng DataTable để lấydữ liệu, sau đó hiển thị chúng lên điều khiển ListBox. Trong ứng dụng này côngviệc hiển thị dữ liệu lên điều khiển được thực hiện đơn giản hơn, ta chỉ cần lấy vềđối tượng DataView của DataSet, sau đó gán DataView này cho thuộc tínhDataSource của điều khiển lưới, sau đó gọi hàm DataBind() thì tự động dữ liệu sẽđược đẩy lên điều khiển lưới dữ liệu. CustomerDataGrid.DataSource = DataSet.Tables[Customers].DefaultView;Trước tiên ta cần tạo ra đối tượng lưới trên Form bằng cách kéo thả, đặt tên lại chođiều khiển lưới là CustomerDataGrid. Sau đây là mã hoàn chỉnh của ứng dụng kếtbuộc dữ liệu cho điều khiển lưới : using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Data.SqlClient; namespace ProgrammingCSharpWindows.Form { public class ADOForm3 : System.Windows.Forms.Form { private System.ComponentModel.Container components; private System.Windows.Forms.DataGrid CustomerDataGrid; public ADOForm3( ) { InitializeComponent( ); // khởi tạo chuỗi kết nối và chuỗi truy vấn dữ liệu string connectionString = server=localComputer; uid=sa; pwd=;database=northwind; string commandString = Select CompanyName, ContactName, ContactTitle, + Phone, Fax from Customers; // tạo ra một SqlDataAdapter và DataSet mới, // đẩy dữ liệu cho DataSet SqlDataAdapter DataAdapter = new SqlDataAdapter(commandString, connectionString); DataSet DataSet = new DataSet( ); DataAdapter.Fill(DataSet,Customers); // kết buộc dữ liệu của DataSet cho lưới CustomerDataGrid.DataSource= DataSet.Tables[Customers].DefaultView; } public override void Dispose( ) { base.Dispose( ); components.Dispose( ); } 153Truy cập dữ liệu với ADO.NET Gvhd: Nguyễn Tấn Trần Minh Khang private void InitializeComponent( ) { this.components = new System.ComponentModel.Container(); this.CustomerDataGrid = new DataGrid(); CustomerDataGrid.BeginInit(); CustomerDataGrid.Location = new System.Drawing.Point (8, 24); CustomerDataGrid.Size = new System.Drawing.Size (656, 224); CustomerDataGrid.DataMember = ; CustomerDataGrid.TabIndex = 0; CustomerDataGrid.Navigate += new NavigateEventHandler(this.dataGrid1_Navigate); this.Text = ADOFrm3; this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size (672, 273); this.Controls.Add (this.CustomerDataGrid); CustomerDataGrid.EndInit ( ); } public static void Main(string[] args) { Application.Run(new ADOForm3()); } } }Điều khiển lưới sẽ hiển thị y hệt mọi dữ liệu hiện có trong bảng Customers, tên củacác cột trên lưới cũng chính là tên của các cột trong bản dữ liệu. Giao diện của ứngdụng sau khi chạy chương trình :Hình 14-5 Kết buộc dữ liệu cho điều khiển lưới DataGrid.14.8.2 Tạo đối tượng DataSetTrong ví dụ trước, tạo ra đối tượng SqlDataAdapter bằng cách gắn trực tiếp chuỗikết nối và chuỗi truy vấn vào nó. Đối tượng Connection và Command sẽ được tạovà tích hợp vào trong đối tượng DataAdapter này. Với cách này, ta sẽ bị hạn chếtrong các thao tác liên quan đến cơ sở dữ liệu. 154Truy cập dữ liệu với ADO.NET Gvhd: Nguyễn Tấn Trần Minh Khang SqlDataAdapter DataAdapter = new SqlDataAdapter(commandString, connectionString);Ví dụ sau đây sẽ minh họa việc lấy về đối tượng DataSet bằng cách tạo ra các đốitượng Connection và Command một cách riêng biệt, khi ta cần dùng lại chúng haymuốn thực hiện ...
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 130 1 0
-
33 trang 70 0 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 -
1 trang 44 0 0
-
thủ thuật windows XP hay nhất phần 2
14 trang 42 0 0 -
Các Chủ Đề Tiến Bộ Trong C# part
8 trang 39 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 35 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 -
Các Chủ Đề Tiến Bộ Trong C# part 1
19 trang 29 0 0 -
hướng dẫn sử dụng Rhino Ceros phần 6
12 trang 29 0 0