1. Giới thiệu về DataTable
Data Table là một trong những đối tượng chủ đạo của ADO (ActiveX Data Objects). Là thành phần không thể nào thiếu trong quá trình tương tác với database và các mô hình đa tầng n-tier trong dự án web.
Nó quyết định các vấn để xử lý đặc biệt giảm thiểu áp lực xử lý trong SQL Server mà đối tượng trong đó phải chịu trách nhiệm
2. Thành phần hoạt động của đối tượng
Thành phần hoạt động của DataTable tương tự như cấu trúc của một table trong database của SQL Server. Đến đây, chắc chắn bạn đã nghĩ ra ngay tôi muốn nói đến đối tượng gì rồi. Vâng, đó chính là đối tượng dòng (row) và cột (column). Giao điểm giữa row và column sẽ tạo ra một đối tượng mới là ô (cell). Và trong từng cell sẽ luôn chứa một giá trị
Giá trị mà cell chứa người ta gọi là value mà trong value thì luôn chứa nhiều kiểu giá trị khác nhau. Có thể là một chuỗi (string), một số (numberic), một giá trị ngày tháng (date time), một giá trị kiểu luận lý (Boolean) hoặc cũng có thể là hình ảnh (images)
Trong một bảng có thể có một hoặc nhiều dòng và một hoặc nhiều cột khác nhau tùy vào database mà nó chứa
3. Các phương thức quan trọng
Trong .Net đối tượng DataTable được sử dụng như một table trong SQL SERVER vì vậy phương thức hoạt động của nó cũng có tính chất không quá phức tạp.
Chúng ta cùng làm một ví dụ về DataTable như sau: load toàn bộ dữ liệu của bảng Customer vào GridView.
Bước 1: Thiết kế
Sử dụng control gridview và đặt Id là: gvCustomer như hình bên dưới
Bước 2: Coding
Để sử dụng được đối tượng DataTable bạn phải using đối tượng
1
2
| using System.Data; using System.Data.SqlClient; |
Bạn viết một phương thức LoadCustomer như sau:
1
2
3
4
5
6
7
8
9
10
11
| private void LoadCustomer() { string conn = "Data Source=.;Initial Catalog=Northwind;Integrated Security=True" ; SqlConnection sqlCon = new SqlConnection(conn); string comment = "Select * FROM Customers" ; SqlDataAdapter daCustomer = new SqlDataAdapter(comment, sqlCon); DataTable dtCustomer = new DataTable(); daCustomer.Fill(dtCustomer); gvCustomer.DataSource = dtCustomer; gvCustomer.DataBind(); } |
- Chuỗi connection Data Source=.;Initial Catalog=Northwind;Integrated Security=True dùng để kết nối đến database tên là Northwind
- Dùng đối tượng SqlConnection để kết nối
- Dùng lệnh comment Select * FROM Customers để chọn tất cả dữ liệu trong bảng Customers
- Đối tượng SqlDataAdapter dùng để load dữ liệu, sử dụng phương thức Fill để đổ dữ liệu và DataTable
- Và cuối cùng là hiển thị bằng
1
2
| gvCustomer.DataSource = dtCustomer; gvCustomer.DataBind(); |
- Source code đầy đủ của phương thức là
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Configuration; using System.Data; using System.Data.SqlClient; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { LoadCustomer(); } private void LoadCustomer() { string conn = "Data Source=.;Initial Catalog=Northwind;Integrated Security=True" ; SqlConnection sqlCon = new SqlConnection(conn); string comment = "Select * FROM Customers" ; SqlDataAdapter daCustomer = new SqlDataAdapter(comment, sqlCon); DataTable dtCustomer = new DataTable(); daCustomer.Fill(dtCustomer); gvCustomer.DataSource = dtCustomer; gvCustomer.DataBind(); } } |
Bước 3: Kết quả
4. Đánh giá
Sử dụng đối tượng Data Table rất nhanh chóng trong quá trình xử lý load dữ liệu giúp bạn tiết kiệm thời gian
Comments[ 0 ]
Đăng nhận xét