Danh mục

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    
Jamona

Phí tải xuống: 1,000 VND Tải xuống file đầy đủ (11 trang) 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 ...

Tài liệu được xem nhiều: